Zusammenführen von pdf mit pdfsharp : exception de der pdfDocument.close()
Ich würde gerne eine Funktion erstellen, mit PDFSharp, um einige pdf merge ist.
Hier ist mein code
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";
}
}
Mein problem ist, dass auf der objDocument.Close () - Aufruf, ich habe eine Ausnahme : "Das Dokument kann nicht geändert werden".
Jemand helfen könnte mir das ?
Großer Dank für diese lib,
Beste Grüße,
Nixeus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer PDF Datei-geöffnet mit PdfDocumentOpenMode.Import für den import nur und können nicht geändert werden.
Versuchen PdfDocumentOpenMode.Ändern statt.
Oder schauen Sie auf die Verketten-Dokumente Beispiel:
http://www.pdfsharp.net/wiki/ConcatenateDocuments-sample.ashx
CanSave
gibt true zurück, aber der Fehler weiterhin auf.Ich weiß, ich bin spät zur party, aber ich traf dieses Problem heute.
Die close-Methode wird versucht, das Dokument zu speichern, und damit die Voraussetzung für
.Modify
. In diesem Fall brauchen Sie nichtobjDocument.Close()
überhaupt. Sie können Optional (und wohl auch sollte?) rufen SieobjDocument.Dispose()
.