Datenextraktion und Weiterverwendung während des Druckprozesses / PDF Drucker
Dieses Beispiel zeigt wie Sie Informationen aus dem Inhalt eines Printjobs extrahieren und damit automatisch das PDF Dokumentenfeld "Subject" befüllen. Das passende Beispieldokument wurde dem herunterladbaren Codebeispiel ebenfalls hinzugefügt.
Wir wollen den Kommentarwert aus dem Dokument extrahieren und den extrahierten Text dazu verwenden das PDF Subject mit Inhalt vorzubefüllen. Die nachfolgende Abbildung zeigt einen Screenshot des verwendeten Beispieldokuments, die Kommentarzeile um die es geht, ist schwarz markiert.
Wenn das Dokument (Testseite.doc) ausgedruckt wird, so wird der Event Handler OnPreprocessText()
dazu verwendet den Text des Dokuments bzw. des Druckjobs zu parsen. Nachfolgender Beispielcode illustriert den genauen programatischen Vorgang im Event Handler.
-
Rem -- This script will illustrate how to extract and process the text
-
Rem -- of the printed output.
-
-
Sub OnConfigLoaded()
-
Rem -- Modify the configuration to extract text from the printer
-
Rem -- output.
-
Context("Config")("extracttext") = "yes"
-
End Sub
-
-
Sub OnPreprocessText()
-
Const ForReading = 1
-
Dim fn, f, fso, cnt
-
Dim comment, p1, p2, l
-
-
Rem -- Get the name of the text file from the context object
-
fn = Context("TextFileName")
-
-
Rem -- Count the pages of the text file. Each page is separated
-
Rem -- by a formfeed character chr(12).
-
Set fso = CreateObject("Scripting.FilesystemObject")
-
Set f = fso.OpenTextFile(fn, ForReading)
-
While Not f.AtEndOfStream
-
Rem -- Read a line from the text file
-
l = f.ReadLine()
-
-
Rem -- Look for the comment
-
p1 = InStr(1, l, "Kommentar:")
-
If p1 > 0 Then
-
comment = Mid(l, p1 + 8)
-
-
Rem -- Look for the tag after the comment.
-
Rem -- This will determine where the comment ends.
-
p2 = InStr(1, comment, "Treibername:")
-
If p2 > 0 Then comment = Mid(comment, 1, p2 - 1)
-
comment = Trim(comment)
-
End If
-
Wend
-
f.Close
-
-
Rem -- Set the author value in the configuration
-
Context("Config")("subject") = comment
-
End Sub
Beispieldatei Download
Sie können den Beispielcode herunterladen. Die darin enthaltene VBS-Macrodatei verschieben Sie nach dem Entpacken bitte in den macros Ordner des PDF-Druckers (im Installationsverzeichnis). Sie können auch mit der Einstellung MacroDir ein anderes Verzeichnis festlegen.
Downloads
Anhang | Größe |
---|---|
Codebeispiel herunterladen | 3.04 KB |