{"id":1444,"date":"2023-10-16T20:43:25","date_gmt":"2023-10-16T18:43:25","guid":{"rendered":"https:\/\/www.lvbprint.de\/?p=1444"},"modified":"2024-06-11T17:32:35","modified_gmt":"2024-06-11T15:32:35","slug":"pdf-creation","status":"publish","type":"post","link":"https:\/\/www.lvbprint.de\/en\/2023\/10\/16\/pdf-creation\/","title":{"rendered":"Automatic PDF creation when printing"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Einleitung<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Eine h\u00e4ufige Anwendung von PrintMulti ist die automatische PDF Erstellung beim Drucken. Dieser Artikel zeigt, wie man PrintMulti so konfiguriert, dass dies auf einfache Weise m\u00f6glich ist. Er geht davon aus, dass der aktuell verwendete Drucker verwendet werden kann.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Die Voraussetzungen daf\u00fcr sind bereits im Artikel &#8222;<a href=\"https:\/\/www.lvbprint.de\/2023\/09\/28\/kopien-drucken\/\">Kopien drucken mit PrintMulti<\/a>&#8220; beschrieben, daher beginnen wir hier mit der Konfiguration eines geeigneten PDF-Druckers.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Auswahl eines PDF Druckers<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Am besten Sie w\u00e4hlen einen Druckertreiber, der direkt in eine PDF Datei <em>&#8222;druckt&#8220;<\/em> und keinen Zweistufigen wie z.B. den <em><a href=\"https:\/\/www.pdfforge.org\/de\/pdfcreator\" rel=\"noopener\">&#8222;PDF Creator&#8220;<\/a><\/em> und viele andere, die technisch einen Postscript Treiber nutzen und die erhaltene Postscript Datei sp\u00e4ter in PDF wandeln, oft mit Hilfe von <em><a href=\"https:\/\/www.ghostscript.com\/\" rel=\"noopener\">&#8222;Ghostscript&#8220;<\/a><\/em>. Das funktioniert auch mit PrintMulti, wie im Handbuch in Kapitel 8 beschrieben, ist nicht trivial zu konfigurieren.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">In diesem Artikel beschr\u00e4nken wir uns deshalb auf PDF Drucker, die direkt eine PDF ohne Umwege erzeugen.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Am einfachsten ist die Verwendung des bei Windows mitgeliefertem <em>&#8222;Microsoft Print To PDF&#8220;<\/em>  Druckers. Den muss man ggf. bei den <em>&#8222;Windows Features&#8220;<\/em> aktiveren, damit er erscheint. Dieser erledigt anstandslos seinen Dienst, hat aber nicht viele Einstellm\u00f6glichkeiten.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Ein weiterer freier PDF Drucker ist beim <em><a href=\"https:\/\/www.pdfforge.org\/de\/pdfarchitect\" rel=\"noopener\">&#8222;PDF Architect&#8220;<\/a><\/em> enthalten, selbst in der freien Version. Dieser bietet viele Einstellm\u00f6glichkeiten wie z.B. PDF\/A, R\u00e4nder, Fonteinbettung, Verschl\u00fcsselung und vieles mehr. Mit Hilfe von gespeicherten Druckereinstellungen und der <em>&#8222;Devmode1&#8220;<\/em> Option kann man da ggf. auch verschiedene Einstellungen verwenden. Beispiele dazu finden Sie wieder im Artikel &#8222;<a href=\"https:\/\/www.lvbprint.de\/2023\/09\/28\/kopien-drucken\/\">Kopien drucken mit PrintMulti<\/a>&#8220; oder im Handbuch. <\/p>\n\n\n\n<p class=\"has-medium-font-size\">Es gibt bestimmt noch etliche PDF Drucker welche die Anforderungen gen\u00fcgen. Falls Sie schon einen im Einsatz haben, probieren Sie in einfach aus und schauen, ob die erhaltene PDF Datei tats\u00e4chlich PDF oder Postscript ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einfaches Beispiel zur PDF Erstellung<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Installieren Sie den <em>&#8222;Microsoft Print To PDF&#8220;<\/em> oder den <em>&#8222;PDF Architect&#8220;<\/em> oder beide und kopieren Sie den unteren Abschnitt in die PrintMulti.ini. Den Drucker <em>&#8222;Samsung&#8220;<\/em> m\u00fcssen Sie wie im anderen Artikel ersetzen durch einen geeigneten installieren Drucker.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size\"><em>[MicrosoftPrintToPDF]<\/em>\nPrinter=Microsoft Print To PDF\nSave2File=C:\\PDFOutput\\#(%Y-%m)T\\#(%d)T\\#J_#K_MS.pdf\nColor=1\n\n<em>[PDFArchitect9]<\/em>\nPrinter=PDF Architect 9\nSave2File=C:\\PDFOutput\\#(%Y-%m)T\\#(%d)T\\#J_#K_Arch.pdf\nDevmode1=c:\\temp\\pdfa.dev\nColor=1\n\n<em>[Samsung]<\/em>\nActive=1\nPrintSelf=1\nActionPDF9=Print;<em>PDFArchitect9<\/em>\nActionPDFMS=Print;<em>MicrosoftPrintToPDF<\/em><\/pre>\n\n\n\n<p class=\"has-medium-font-size\">Wenn Sie jetzt eine Testseite auf den Samsung Drucker ausgeben, sollten im Verzeichnis <em>&#8222;C:\\PDFOutput&#8220;<\/em> ein Unterverzeichnis mit dem Jahr und dem Monat und ein weiteres mit dem aktuellen Tag erzeugt werden und darin die PDF Dateien.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"147\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/10\/Created-PDF.png\" alt=\"PDF Erstellung\" class=\"wp-image-1462\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/10\/Created-PDF.png 262w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/10\/Created-PDF-18x10.png 18w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">Der Treiber <em>&#8222;Microsoft Print To PDF&#8220;<\/em> bietet kaum Einstellm\u00f6glichkeiten, der <em>&#8222;PDF Architect&#8220;<\/em> dagegen schon. Mit Hilfe des Tools <em>&#8222;Devmode2File&#8220;<\/em> k\u00f6nnen Druckereinstellungen konfiguriert und in eine Datei gespeichert werden (hier <em>&#8222;C:\\temp\\pdfa.dev&#8220;<\/em>). Das erm\u00f6glicht z.B. eine PDF\/A Erzeugung, eine Verschl\u00fcsselung oder was immer der Treiber sonst noch bietet. Der Vorteil von gespeicherten Devicemodi ist, dass es immer noch identisch funktioniert, auch wenn jemand an den Druckereinstellungen herumspielt. Abgesehen davon gibt es etliche Orte f\u00fcr gespeicherte Devicemodi in der Registry und man kann sich nie sicher sein welcher verwendet wird, insbesondere wenn wie bei einem PrintProzessor verschiedene Benutzer und Impersonation im Einsatz sind.<br><br>&#8222;#K&#8220;, &#8222;#J&#8220;, &#8222;#T&#8220; sind Makros, die definierte Werte enthalten. Teilweise ist eine Formatierung m\u00f6glich wie bei &#8222;#T&#8220;. &#8222;#K&#8220; ist der Dokumentenname mit der Ersetzung von Zeichen, die f\u00fcr Dateinamen ung\u00fcltig sind. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wasserzeichen in der PDF mit PrintMulti M\u00f6glichkeiten<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Nun soll noch ein Wasserzeichen oder ein Hintergrundbild in das PDF eingef\u00fcgt werden. Dies kann einerseits mit den in PrintMulti eingebauten M\u00f6glichkeiten wie der Ausgabe von Texten, Bildern, Rechtecken und Linien geschehen, andererseits mit Hilfe von leistungsf\u00e4higen Tools wie <a href=\"https:\/\/pdftk.de.softonic.com\/\" rel=\"noopener\">&#8222;pdftk&#8220;<\/a>, das mit den ExecuteCmd-M\u00f6glichkeiten von PrintMulti aufgerufen werden kann.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Mit den folgenden Einstellungen gibt PrintMulti mehrere Texte aus. Dies funktioniert auch mit dem PDFArchitect Drucker mit den entsprechenden Einstellungen.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-background has-medium-font-size\" style=\"background:linear-gradient(90deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)\"><em>[WatermarkDocumentCenter]<\/em>\nActive=1\nType=Text\nText=#D\nAttrib=BI\nFont=Arial\nForeground=0\nColor=0xFF2600\nX=$(#w;2;\/)\n; unit is twips. (1 inch = 1440 Twips; 1 inch = 2.54cm; 1cm=567 Twips)\nY=$(#h;567;-)\nHeight=5mm\nAlign=Center\nVertAlign=Center\n\n<em>[WatermarkDate]<\/em>\nType=Text\nText=\"#(%Y-%m-%d %H:%M)T\"\nAttrib=BI\nFont=Courier New\nForeground=0\nColor=0xE0E0E0\nX=$(#w;2;\/)\nY=$(#h;2;\/)\nHeight=20mm\nAlign=Center\nVertAlign=Center\ndx=#w\ndy=#h\n\n<em>[WatermarkSideRight]<\/em>\nActive=1\nType=Text\nText=\"#n\/#Z \"\nFont=Courier New\nForeground=0\nColor=0xFF2600\nX=$(#w;#t;-)\nY=$(#h;567;-)\nHeight=5mm\nAlign=Right\nVertAlign=Center\n\n<em>[MicrosoftPrintToPDF]<\/em>\nPrinter=Microsoft Print To PDF\nSave2File=C:\\PDFOutput\\#(%Y-%m)T\\#(%d)T\\#J_#K_MS.pdf\nObjectBottomRight=<em>WatermarkSideRight<\/em>\nObjectBottomCenter=<em>WatermarkDocumentCenter<\/em>\nObjectCenter=<em>WatermarkDate<\/em>\nTransparent=1\nColor=1\n\n<\/pre>\n\n\n\n<p class=\"has-medium-font-size\">Ein gedruckter Ausschnitt aus dem PrintMulti Handbuch w\u00fcrde dann so aussehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"837\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/PrintMultiObjects.png\" alt=\"Beispiel PDF mit PrintMulti Objekten\" class=\"wp-image-1482\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/PrintMultiObjects.png 591w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/PrintMultiObjects-212x300.png 212w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/PrintMultiObjects-8x12.png 8w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">Der Vorteil bei der PrintMulti Methode liegt darin, dass einfach dynamische Objekte wie das Datum, der Dokumentenname, die aktuelle Seite und viele andere Informationen eingef\u00fcgt werden k\u00f6nnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Benutzung von pdftk zur Ver\u00e4nderung der erzeugten PDF<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">Es gibt Kommandozeilenprogramme, um PDF-Dateien zu bearbeiten. Das bekannteste ist wohl <a href=\"https:\/\/pdftk.de.softonic.com\/\" rel=\"noopener\">&#8222;pdftk&#8220;<\/a>. Damit kann man auch Hintergrundbilder oder Wasserzeichen einf\u00fcgen. Es scheint aber nicht in der Lage zu sein, das aktuelle PDF zu ver\u00e4ndern, so dass man mit Zwischendateien arbeiten muss.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Eine PrintMulti Konfiguration mit einer Verwendung von <a href=\"https:\/\/pdftk.de.softonic.com\/\" rel=\"noopener\">&#8222;pdftk&#8220;<\/a> k\u00f6nnte so aussehen:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-background has-medium-font-size\" style=\"background:linear-gradient(90deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)\"><em>[ExecuteMove]<\/em>\nOrder=5\nExecute=yes\nExecuteAsUser=true\nExecuteFlags=0x08000000\nExecuteTimeout=INF\nExecuteCmd=cmd \/c move @\"#G\" %tempFile%\n\n<em>[ExecutePDFtk]<\/em>\nOrder=5\nExecute=yes\nExecuteAsUser=true\nExecuteFlags=0x08000000\nExecuteTimeout=INF\nExecuteCmd=c:\\tools\\pdftk %tempFile% background %background% output @\"#G\"\n\n<em>[ExecuteDelete]<\/em>\nOrder=5\nExecute=yes\nExecuteAsUser=true\nExecuteFlags=0x08000000\nExecuteTimeout=INF\nExecuteCmd=cmd \/c del %tempFile%\n\n<em>[pdftk]<\/em>\n!tempFile=@\"C:\\PDFOutput\\temp_#J.pdf\"\n!background=@\"c:\\temp\\background.pdf\"\n\nPrinter=PDF Architect 9\nSave2File=C:\\PDFOutput\\#(%Y-%m)T\\#(%d)T\\#J_#K_9_pdftk.pdf\nDevmode1=c:\\temp\\pdfa.dev\nColor=1\nExecuteSection1=ExecuteMove\nExecuteSection2=Executepdftk\nExecuteSection3=ExecuteDelete\nTransparent=1\n\n<em>[Samsung]<\/em>\nActive=1\nPrintSelf=1\nActionPDFTK=Print;pdftk<\/pre>\n\n\n\n<p class=\"has-medium-font-size\">In PrintMulti gibt es keine Variablen im engeren Sinn. Die beiden Zuweisungen, die mit  &#8222;!&#8220; anfangen werden als Umgebungsvariablen gesetzt und bleiben \u00fcber Sektionsgrenzen erhalten. Wie in Windows \u00fcblich, kann auf sie mit <em>&#8222;%&#8230;%&#8220;<\/em> zugegriffen werden. <br>Der Hintergrund wurde schnell mit WinWord erzeugt und als PDF in <em>&#8222;C:\\temp\\background.pdf&#8220;<\/em> gespeichert.<br>Das Ergebnis einer Testseite sehen Sie hier:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"780\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/pdftkExample.png\" alt=\"pdftk Beispiel\" class=\"wp-image-1488\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/pdftkExample.png 548w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/pdftkExample-211x300.png 211w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2023\/11\/pdftkExample-8x12.png 8w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Einleitung Eine h\u00e4ufige Anwendung von PrintMulti ist die automatische PDF Erstellung beim Drucken. Dieser Artikel zeigt, wie man PrintMulti so konfiguriert, dass dies auf einfache<\/p>\n<div class=\"btn btn-light btn-arrow\"><a href=\"https:\/\/www.lvbprint.de\/en\/2023\/10\/16\/pdf-creation\/\" rel=\"nofollow\" title=\"Read More\">Read More<\/a><\/div>","protected":false},"author":1,"featured_media":1498,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[82,48],"tags":[88,89],"class_list":["post-1444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-printmulti","category-printmulti-examples","tag-pdf-drucken-speichern","tag-pdf-print-save"],"_links":{"self":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/comments?post=1444"}],"version-history":[{"count":26,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1444\/revisions"}],"predecessor-version":[{"id":1500,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1444\/revisions\/1500"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/media\/1498"}],"wp:attachment":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/media?parent=1444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/categories?post=1444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/tags?post=1444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}