第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 C# 中編輯 XPS 打印后臺文件(.SPL 擴展名)(另存為 Zip 問題)

在 C# 中編輯 XPS 打印后臺文件(.SPL 擴展名)(另存為 Zip 問題)

PHP
慕俠2389804 2024-01-20 15:39:01
當有人打印文檔(帶有 XPS 打印路徑)時,我想暫停打印作業(yè)并編輯 SPL(壓縮 XPS 格式)文件。如果我用 7zip 編輯文件并保存。如果我恢復作業(yè),文檔打印沒有任何問題。如果我使用 System.IO.Compression.ZipFile 類或 DotNetZip 庫或 SevenZipSharp 庫打開 SPL 文件,然后從 SPL 文件中提取文件并從 SPL 文件中刪除該文件,然后再次將該文件添加到 SPL 文件中,它將生成完美的 zip 容器。我比較了原始 SPL 文件和使用 7zip、zipinfo、winrar 工具編輯的 SPL 文件,沒有發(fā)現(xiàn)任何差異。容器中的所有文件都完全相同。我還檢查了 CRC。當我打開、編輯和保存 zip 文件時,我不會更改有關(guān)壓縮方法、壓縮級別等的任何內(nèi)容。正如我所說,兩個 zip 文件看起來完全相同,但如果我計算原始和編輯后的 SPL 文件的 CRC,它們就不是了相同的。在我編輯后(僅提取頁面文件,從容器中刪除它,然后將其再次添加到容器中),如果我嘗試恢復打印作業(yè),我會在事件查看器中看到有關(guān) PrintProcessor 的錯誤,并且無法打印它。編輯文件后我無法弄清楚發(fā)生了什么變化(不更改容器中的任何內(nèi)容)。我要瘋了。SPL 文件的 Zip 格式有任何規(guī)范嗎?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經(jīng)驗 獲得超4個贊

如果我使用“ZipPackage”類,問題就解決了。


 using (var pack = ZipPackage.Open(xpsFileName, FileMode.Open, FileAccess.ReadWrite))

    {

        foreach (var part in pack.GetParts()) if (part.Uri.OriginalString.EndsWith(".fpage"))

            {

                using (var file = part.GetStream(FileMode.Open, FileAccess.ReadWrite))

                {

                    var page = ProcessPage(XElement.Load(file));

                    file.Position = 0;

                    page.Save(file);

                    file.SetLength(file.Position);

                }

            }

    }



查看完整回答
反對 回復 2024-01-20
  • 1 回答
  • 0 關(guān)注
  • 261 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號