Cet exemple montre comment extraire des informations du contenu d'un travail d'impression et ainsi remplir automatiquement le champ du document PDF "Objet". L'exemple de document approprié a également été ajouté à l'exemple de code téléchargeable.

Nous voulons extraire la valeur de commentaire du document et utiliser le texte extrait pour préremplir le sujet PDF avec le contenu. La figure suivante montre une capture d'écran de l'exemple de document utilisé, la ligne de commentaire dont il s'agit est marquée en noir.

testdoc

Lorsque le document (Testpage.doc) est imprimé, le gestionnaire d'événements OnPreprocessText() est utilisé pour analyser le texte du document ou le travail d'impression. L'exemple de code suivant illustre le processus de programmation exact dans le gestionnaire d'événements.

  1. Rem -- This script will illustrate how to extract and process the text
  2. Rem -- of the printed output.
  3.  
  4. Sub OnConfigLoaded()
  5.     Rem -- Modify the configuration to extract text from the printer
  6.     Rem -- output.
  7.     Context("Config")("extracttext") = "yes"
  8. End Sub
  9.  
  10. Sub OnPreprocessText()
  11.     Const ForReading = 1
  12.     Dim fn, f, fso, cnt
  13.     Dim comment, p1, p2, l
  14.    
  15.     Rem -- Get the name of the text file from the context object
  16.     fn = Context("TextFileName")
  17.    
  18.     Rem -- Count the pages of the text file. Each page is separated
  19.     Rem -- by a formfeed character chr(12).
  20.     Set fso = CreateObject("Scripting.FilesystemObject")
  21.     Set f = fso.OpenTextFile(fn, ForReading)
  22.     While Not f.AtEndOfStream
  23.         Rem -- Read a line from the text file
  24.         l = f.ReadLine()
  25.  
  26.         Rem -- Look for the comment
  27.         p1 = InStr(1, l, "Kommentar:")
  28.         If p1 > 0 Then
  29.             comment = Mid(l, p1 + 8)
  30.  
  31.             Rem -- Look for the tag after the comment.
  32.             Rem -- This will determine where the comment ends.
  33.             p2 = InStr(1, comment, "Treibername:")
  34.             If p2 > 0 Then comment = Mid(comment, 1, p2 - 1)
  35.             comment = Trim(comment)
  36.         End If
  37.     Wend
  38.     f.Close
  39.  
  40.     Rem -- Set the author value in the configuration
  41.     Context("Config")("subject") = comment
  42. End Sub

Télécharger un exemple de fichier

Vous pouvez télécharger l'exemple de code. Après le déballage, veuillez déplacer le fichier de macro VBS qu'il contient dans le dossier macros de l'imprimante PDF (dans le répertoire d'installation). Vous pouvez également définir un répertoire différent avec le paramètre MacroDir.

Téléchargements

appendice taille
Télécharger l'exemple de code 3.04 KB

Top