2010-12-01 20 views
2

Ich habe eine PDF-Datei (generiert aus dem Scannen) und möchte einen Mechanismus festlegen, wo ich vor dem Drucken aufgefordert werde, ein Feld (Kontrollnummer) einzugeben und das Feld auf jeder Seite des Dokuments gedruckt wird. Wie kann ich das machen?Drucken von PDF-Dateien

Antwort

1

Sie können iTextSharp verwenden, um Text zu einer PDF hinzuzufügen, und Sie können GhostScript verwenden, um die PDF an einen Drucker zu senden.

0

Eine ausgezeichnete Option ist PDFSharp - Wir verwenden dies für eine Vielzahl von Aufgaben, vom Rendern von Formularen über Grafiken, Einbetten von Barcodes in PDF-Dokumente usw. - funktioniert ein Vergnügen, und ich kann es sehr empfehlen.

1

IIRC, es gibt ein Pre-print-Ereignis auf Dokumentebene, das Sie mit javaScript verknüpfen können.

1) Platzieren Sie ein Feld mit dem exakt gleichen Namen auf jeder Seite Ihres PDFs.

2) Fragen Sie den Benutzer im Preprint-Ereignis nach diesem Feldwert und setzen Sie das Feld auf den Wert.

Sie müssen ein zusätzliches Aktionswörterbuch im Dokumentkatalog erstellen. In Acrobat ist ziemlich gut begraben. Erweitert-> Dokumentenverarbeitung-> Dokumentaktionen festlegen. Sie wollen das Ereignis "Will Print":

var response = app.response(questionText/*, dialogTitle, defaultVal, bPassword, entryLabel*/); 
this.getField("thatFieldName").value = response; 

Nicht viel dran. Programmatisch in iText zu tun (mein persönlicher Favorit, nein überhaupt nicht voreingenommen)

PdfReader reader = new PdfReader("myFile.pdf"); 
PdfStamper stamper = new PdfStamper(myReader, outStream); 
PdfWriter stamperWriter = stamper.getWriter(); 

stamperWriter.setAdditionalAction(PdfName.WP, PdfAction.javaScript(scriptString, stamperWriter)); 
stamper.close(); 
+0

Könnten Sie bitte lassen Sie mich wissen, was ist IIRC? – Lamps

+0

"Wenn ich mich richtig erinnere" –