Pour une entreprise allemande, l'imprimante 7-PDF a été configurée en tant qu'imprimante réseau afin de l'utiliser à partir de SAP pour l'envoi de factures PDF . Les documents PDF générés ont ensuite été envoyés à un serveur de fax via SMTP et envoyés par celui-ci. L'imprimante 7-PDF a précédemment demandé le numéro de fax à l'utilisateur via la zone de saisie et l'a transmis au serveur de fax en script VB.

Cet exemple montre comment des processus assez complexes peuvent être mappés avec l'imprimante 7-PDF avec seulement quelques lignes de code VBScript. La macro suivante devrait également servir de base si vous prévoyez d'envoyer automatiquement des documents PDF imprimés par e-mail.

  1. Dim global_success, faxnr, SMTPServer, Recipient, From, Subject, Message
  2.  
  3. Sub OnConfigLoaded()
  4.     Rem -- Modify the configuration to extract text from the printer
  5.     Rem -- output.
  6.    
  7.     faxnr = InputBox("Faxnummereingabe (ohne Sonder- und Leerzeichen):", "Rechnung senden")
  8.    
  9.    Context("Config")("showsettings") = "never"
  10.     Context("Config")("showpdf") = "no"   
  11.     Context("Config")("output") = "C:\pdf-processing\print\<date>-<time>.pdf"
  12.     Context("Config")("superimpose") = "C:\pdf-processing\print\background.pdf"
  13.     Context("Config")("author") = "<username>"
  14.     Context("Config")("confirmoverwrite") = "no"
  15.     Context("Config")("mergefile") = "C:\pdf-processing\print\agb.pdf"
  16.     Context("Config")("mergeposition") = "top"
  17.    
  18. End Sub
  19.  
  20. Sub OnSuccess()
  21.   global_success = true
  22. End Sub
  23.  
  24. Sub OnAfterPrint()
  25.    
  26.   If global_success Then
  27.    
  28.     Rem -- Absender <username>@mailserver.de
  29.     Rem -- Empfänger faxnr@fax.local
  30.    
  31.     SMTPServer = "smtp.mailserver.local"
  32.     Recipient = faxnr & "@fax.local"
  33.     From = Context("DocumentAuthor") & "@mailserver.de"
  34.     Subject = "Ihre SAP Rechnung"
  35.     Message = "Anbei erhalten Sie Ihre SAP - Rechnung fuer den
  36. Technikerauftrag des Technikers " & Context("DocumentAuthor")
  37. & vbcrlf & "Vielen Dank fuer Ihren Auftrag!"
  38.  
  39.     set msg = CreateObject("CDO.Message")
  40.     msg.From = From
  41.     msg.To = Recipient
  42.     msg.Subject = Subject
  43.     msg.TextBody = Message
  44.    
  45.     ' To add an attachment uncomment this line
  46.     msg.AddAttachment Context("OutputFileName")
  47.  
  48.     msg.Configuration.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
  49.     msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
  50.     msg.Configuration.Fields.Update
  51.  
  52.     msg.Send
  53.    
  54.     MsgBox "Die Rechnung wurde versendet."
  55.    
  56.     ' Del PDF
  57.     Set objFSO = CreateObject("Scripting.FileSystemObject")
  58.     objFSO.DeleteFile(Context("OutputFileName"))
  59.    
  60.   Else
  61.    
  62.     MsgBox "Ein Fehler beim Rechnungsversand ist aufgetreten. Bitte versuchen Sie es erneut!"
  63.    
  64.   End If
  65.  
  66. 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 1.1 KB

LiveZilla Live Chat Software
Top