Gibt es einen direkten Weg, um ein PDF-Dokument mithilfe von iTextSharp an ein anderes Dokument anzuhängen?

7

Ich habe im Internet nach Beispielen gesucht, wie man das macht. Ich habe ein paar gefunden, die etwas involvierter zu sein scheinen als sie sein müssen. Meine Frage ist also, mit iTextSharp, gibt es eine ziemlich präzise Möglichkeit, ein PDF-Dokument an ein anderes anzuhängen?

Im Idealfall würde dies NICHT eine dritte Datei beinhalten. Öffnen Sie einfach das erste PDF-Dokument, hängen Sie das zweite PDF-Dokument an das erste an und schließen Sie beide dann.

    
Danno 19.02.2009, 20:00
quelle

4 Antworten

5

Ok, es ist nicht direkt, aber es funktioniert und ist überraschend schnell. (Und es verwendet eine 3. Datei, nicht so etwas wie öffnen und anhängen.) Ich 'entdeckte' dies in den Dokumenten / Beispielen. Hier ist der Code:

%Vor%     
Danno 20.02.2009, 14:28
quelle
13

Ich könnte wirklich etwas vermissen, aber ich habe etwas viel einfacheres getan. Ich gebe zu, dass diese Lösung wahrscheinlich Lesezeichen nicht aktualisieren wird (wie in der besten Antwort hier bisher), aber es funktioniert einwandfrei für mich. Seit ich Dokumente mit ausfüllbaren Formularen zusammengeführt habe, habe ich PdfCopyFields anstelle von PdfCopy verwendet.

Hier ist der Code (ich habe alle Fehlerbehandlung entfernt, um den tatsächlichen Code besser sichtbar zu machen, fügen Sie einen Versuch hinzu..zum Schließen geöffneter Ressourcen, wenn Sie den Code verwenden wollen):

%Vor%

Sie können einen beliebigen Stream übergeben, sei es ein FileStream, ein MemoryStream (nützlich beim Lesen der PDF aus Datenbanken, keine Notwendigkeit für temporäre Dateien, etc.)

Beispielverwendung:

%Vor%     
Loudenvier 03.03.2010 20:03
quelle
1

Ja. Ich habe eine Klasse namens PdfManipulation in einem iText-Forum gesehen. Die Verwendung dieser Klasse würde jedoch eine dritte Datei beinhalten.

Die Klasse befindet sich ursprünglich in VB.Net. Ich habe es von einem Beitrag auf vbforums.com heruntergeladen. Offenbar hat es jedoch die Funktion zum Zusammenführen von Dateien nicht, also schrieb ich eine basierend auf dem Code in dieser Klasse.

Dies wurde auf einer Maschine ohne iTextSharp geschrieben. Dies könnte Fehler haben. Ich bin nicht einmal sicher, ob die Seitenzahlen 0-basiert oder 1-basiert sind. Aber geben Sie es eine Chance.

%Vor%     
configurator 19.02.2009 22:34
quelle
0

Ich weiß nicht, wie man das für PDF-Dateien macht, aber für Postscript verketten Sie einfach die Dateien. Wenn Sie pdf2ps und ps2pdf installiert haben, wird das Folgende funktionieren:

%Vor%

Ich bin kein Experte für pdf2ps oder ps2pdf. Ich habe immer nur ps2pdf verwendet, und wenn ich das tue, hinterlässt es Text als Text (ich kann immer noch Text aus dem resultierenden PDF auswählen und kopieren). Wenn ich die obigen Schritte mache (pdf- & gt; ps, kombiniere, ps & gt; pdf), lande ich mit einem resultierenden PDF, das wie ein Bild ist. Keine Ahnung warum.

    
KeyserSoze 19.02.2009 23:07
quelle

Tags und Links