gpt4 book ai didi

c# - 合并 pdf 与 pdfsharp : exception en the pdfDocument. close()

转载 作者:行者123 更新时间:2023-11-30 19:28:53 24 4
gpt4 key购买 nike

我想用 PDFSharp 创建一个函数来合并一些 pdf。

这是我的代码

public class PDF_Merge
{
static string [] strTabPdfFiles;


public static string SetPdfToMerge(string strPdfFilesInput)
{
strTabPdfFiles = strPdfFilesInput.Split(';');
return "O";
}

public static string MergeToPdf(string strPdfFilesOutput)
{
try
{
PdfDocument objDocumentFinal = new PdfDocument(strPdfFilesOutput);

foreach (string strDoc in strTabPdfFiles)
{
PdfDocument objDocument = PdfReader.Open(strDoc, PdfDocumentOpenMode.Import);

foreach (PdfPage page in objDocument.Pages)
{
objDocumentFinal.AddPage(page);
}
objDocument.Close();----------> Exception : File cannot be modified
}
objDocumentFinal.Close();

objDocumentFinal.Save(strPdfFilesOutput);
}
catch (Exception ex)
{
return ex.Message;
}

return "O";
}

}

我的问题是在调用 objDocument.Close() 时出现异常:“无法修改文档”。

有人可以帮我吗?

非常感谢这个库,

最好的问候,

尼克修斯

最佳答案

PdfDocument.Close 只应为使用文件名或流创建的文档调用。 Close 将自动将内容保存到 PDF 文件中。在这种情况下,您不得调用 Save

题中的示例代码,objDocument不能调用Close,因为它没有被修改,无法保存。
可以为 objDocumentFinal 调用 Close 来保存更改。您不应为 objDocumentFinal 调用Save,因为这只会再次保存更改。

使用 PdfDocumentOpenMode.Import 打开的 PDF 文件仅用于导入,不能修改。
请尝试 PdfDocumentOpenMode.Modify。

查看连接文档示例:
http://www.pdfsharp.net/wiki/ConcatenateDocuments-sample.ashx

关于c# - 合并 pdf 与 pdfsharp : exception en the pdfDocument. close(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com