<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>PrintMulti &#8211; LVBPrint Homepage</title>
	<atom:link href="https://www.lvbprint.de/en/category/printmulti/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lvbprint.de/en</link>
	<description>Software für Druckerlösungen</description>
	<lastbuilddate>Sun, 01 Feb 2026 09:04:34 +0000</lastbuilddate>
	<language>en-GB</language>
	<sy:updateperiod>
	hourly	</sy:updateperiod>
	<sy:updatefrequency>
	1	</sy:updatefrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.lvbprint.de/wp-content/uploads/2021/05/LVBCropTrans.png</url>
	<title>PrintMulti &#8211; LVBPrint Homepage</title>
	<link>https://www.lvbprint.de/en</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>100% automated EPC QR code (Girocode) embedding directly in the invoice printing process</title>
		<link>https://www.lvbprint.de/en/2026/01/15/auto-girocode/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Thu, 15 Jan 2026 17:44:54 +0000</pubdate>
				<category><![CDATA[ZUGFeRD Composer]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[Einbetten]]></category>
		<category><![CDATA[EPC-QR-Code]]></category>
		<category><![CDATA[Girocode]]></category>
		<category><![CDATA[QR-Code]]></category>
		<category><![CDATA[zugferd]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1887</guid>

					<description><![CDATA[Einführung So ein Girocode auf einer Rechnung ist eigentlich sehr praktisch. Eine geeignete Banking-App übernimmt automatisch alle Daten und man spart sich die mühsame Eingabe<div class="btn btn-light btn-arrow"><a href="https://www.lvbprint.de/en/2026/01/15/auto-girocode/" rel="nofollow" title="Read More">Read More</a></div>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction</h2>


<p>A Girocode on an invoice is actually very practical. A suitable banking app automatically transfers all the data, saving you the hassle of entering your IBAN and other details.</p>
<p>With the help of PrintMulti and its capabilities, it is possible to</p>
<ul>
<li>extract the relevant data from the job currently being printed</li>
<li>call a script that generates the QR code and</li>
<li>embed it in the document when printing (including on PDF printers).</li>
</ul>
<p>Two different methods are offered in the example provided to generate the QR code.</p>
<ol>
<li>Using a PowerShell script and the tool <a href="https://sourceforge.net/projects/zint/" target="_blank" rel="noopener">zint</a>.</li>
<li>Mit Hilfe eines Python-Skript und dem Modul &#8217;segno&#8216;</li>
</ol>
<p class="translation-block">All <a>examples with hidden text</a> offer the option of automatically embedding a Girocode in the generated ZUGFeRD invoice when printing to the ’XRechnung" printer.</p>
<p class="translation-block">Advantages, disadvantages and installation instructions (also for PrintMulti) can be found in the <a href="https://www.lvbprint.de/files/zugferd/PrintMulti_XRechnung_en.pdf" target="_blank" rel="noopener">PrintMulti_XRechnung_en.pdf</a> file. This file also explains in detail the steps required to activate the Girocode in the configuration file.</p>


<h2 class="wp-block-heading">So funktioniert&#8217;s</h2>



<p class="translation-block">This is what it looks like in the end. In the example, however, the Girocode is located at the top right. This can be easily adjusted. The relevant texts are framed in red. In the example, the purpose of use is a combination of the invoice number and the recipient.</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="959" height="928" src="https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodePDF.png" alt="GiroCodePDF" class="wp-image-1890" style="aspect-ratio:1.0334010275321612;width:625px;height:auto" title="100% automatisierte EPC-QR-Code (Girocode)-Einbettung direkt im Rechnungs-Druckprozess 1" srcset="https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodePDF.png 959w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodePDF-300x290.png 300w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodePDF-768x743.png 768w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodePDF-12x12.png 12w" sizes="(max-width: 959px) 100vw, 959px" /></figure>



<p>The following image shows the hidden text (using a macro or by changing the style sheet).</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="883" height="883" src="https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal.png" alt="GiroCodeOriginal" class="wp-image-1891" style="width:732px;height:auto" title="100% automatisierte EPC-QR-Code (Girocode)-Einbettung direkt im Rechnungs-Druckprozess 2" srcset="https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal.png 883w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal-300x300.png 300w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal-150x150.png 150w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal-768x768.png 768w, https://www.lvbprint.de/wp-content/uploads/2026/01/GiroCodeOriginal-12x12.png 12w" sizes="(max-width: 883px) 100vw, 883px" /></figure>



<p>The following lines in PrintMultiRechnung.ini are responsible for the extraction:</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code><code>invoicenr=$(;rawpage;\&#91;01\](&#91;^⁞]*)⁞;1;regex)
amount=$(;rawpage;"\\&#91;115\\](&#91;^⁞]*)⁞";1;regex)
buyer=$(;rawpage;\&#91;44\](&#91;^⁞]*)⁞;1;regex)
iban=$(;rawpage;\&#91;84\](&#91;^⁞]*)⁞;1;regex)
bic=$(;rawpage;"\\&#91;86\\](&#91;^⁞]*)⁞";1;regex)
nf=$(;rawpage;"\\&#91;NF\\](&#91;^⁞]*)⁞";1;regex)
currency=$(;rawpage;"\\&#91;05\\](&#91;^⁞]*)⁞";1;regex)
owner=$(;rawpage;"\\&#91;85\\](&#91;^⁞]*)⁞";1;regex)</code></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ul class="wp-block-list">
<li class="translation-block">‘rawpage’ is the text content of the entire document. All recognised texts are used without separators in one line per page. An excerpt looks like this, for example:<br><pre><span style="white-space: pre-wrap"><code>INVOICE [01]2025-0001⁞⁞[03]INVOICE⁞DATUM [02]01.03.2024⁞Käuferreferenz:[10]991-33333TEST-33⁞</code></span></pre></li>



<li>Die eckigen Klammern müssen durch &#8222;\[&#8220; und &#8222;\]&#8220; escaped werden.&nbsp;</li>



<li>The recognised text within the round brackets can be accessed via the index. There is only one pair of round brackets here, so only 1 can be used.</li>



<li class="translation-block">The ‘⁞’ is simply a rare character from the Unicode character set that is used as a separator. This means that any number of characters except for the separator are assigned to the respective values on the left-hand side up to a separator.</li>



<li>In der Kommandozeile wird mittels @&#8220;#(xxx)I&#8220; auf den Wert zugegriffen. Falls eine Variable mit einem &#8222;!&#8220; anfängt, dann wird sie als Umgebungsvariable gesetzt und man kann mittels %xxx% darauf zugreifen. Das funktioniert nur nicht mit leeren Texten.&nbsp;</li>



<li>Bei Definitionen zwischen @&#8220;&#8230;&#8220; bleiben die Anführungszeichen erhalten und Escape-Sequencen werden nicht ersetzt.&nbsp;</li>



<li>In der PrintMulti Logdatei &#8222;DbgLog.csv&#8220; sind alle Extraktionen und der Aufruf des Skripts ggf. zu sehen.</li>
</ul>



<h2 class="wp-block-heading">Possible adjustments</h2>



<p>The position of the Girocode must be adjusted to match the layout of your invoice. The corresponding values X, Y, Align and Height are self-explanatory and can be found in the [QRImage] section.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code><code><code><strong>&#91;QRImage]</strong>
Active=%CreateGiroCode%
Type=Image
Foreground=0
Source=%QRFile%
<strong>X=18cm
Y=1cm
Align=Left
Height=2cm</strong></code></code></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The intended use is specified here. In many cases, the invoice number is probably sufficient:</p>



<pre class="wp-block-code"><code><code><code><code><strong>purpose="#(invoicenr)I,#(buyer)I"</strong></code></code></code></code></pre>



<h2 class="wp-block-heading">Selection of the procedure</h2>



<p>You can choose between a Powershell script and a Python script in the ini file. Other scripting languages can be connected in the same way if necessary.</p>



<p>Activate the corresponding ExecuteCmd command by commenting out the unused commands.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code><strong>ExecuteCmd= powerShell.exe -File @"%BasePath%\PrintMulti\Girocode\CreateGiroQRCode.ps1" -FileName @"%QRFile%" …</strong>
;ExecuteCmd="%PythonPath%" @"%BasePath%\PrintMulti\Girocode\CreateGiroQRCode.py" --filename @"%QRFile%" …
;ExecuteCmd=py @"%BasePath%\PrintMulti\Girocode\CreateGiroQRCode.py" --filename @"%QRFile%" …</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="translation-block">Details on installation and pitfalls can be found here: <a href="https://www.lvbprint.de/files/zugferd/PrintMulti_XRechnung_en.pdf" target="_blank" rel="noreferrer noopener">PrintMulti_XRechnung_en.pdf</a></p>



<h2 class="wp-block-heading">Girocode without ZUGFeRD invoice</h2>



<p>The examples with hidden text supplied with the ZUGFeRD Composer allow easy embedding of a Girocode, as the necessary data can be extracted very easily.</p>



<p>This also works with other invoices, provided that the relevant data can be extracted. Normally, the account details are fixed, so only the purpose and the amount need to be extracted from the invoice.</p>



<p class="translation-block">In the example ‘<a href="http://www.lvbprint.de/en/files/girocode/invoice_two_vat_girocode_only.odt/" target="_blank" data-type="“link”" data-id="’www.lvbprint.de/" rel="noreferrer noopener">invoice_two_vat_girocode_only.odt</a>’, all hidden text has been removed. If you take a look at the extracted texts in the <em>‘C:\ZUGFeRD\Temp’</em> directory, you will see that the invoice number (=purpose of use) and the amount can be extracted.</p>



<pre class="wp-block-code"><code>The relevant sections are (spaces at the beginning and end are removed by the Girocode scripts)
<code>...RECHNUNG: <strong>2025-0001</strong>DATUM:...0,00€FÄLLIGER BETRAG<strong>1004,66</strong>€Zahlung...</code></code></pre>



<p class="translation-block">There is also a ‘<a href="http://www.lvbprint.de/en/files/girocode/PrintMulti_Girocode.ini/" target="_blank" data-type="“link”" data-id="’http://www.lvbprint.de/" rel="noreferrer noopener">PrintMulti_Girocode.ini</a>’ file, which is prepared accordingly. It requires a PrintMulti printer called ‘Girocode’..</p>



<p>Der wichtige Abschnitt ist hier (&#8222;purpose&#8220;, &#8222;amount&#8220; aus dem Rechnungstext; der Rest ist fix)</p>



<pre class="wp-block-code"><code><code>purpose=$(;rawpage;RECHNUNG:(&#91;^DATUM])DATUM;1;regex) 
amount=$(;rawpage;FÄLLIGER BETRAG"(&#91;^€])€;1;regex)
owner="Gustav Gansöäü"
iban="DE75 5121 0800 1245 1261 99"
bic="GENOKDKSJFG"
nf="DE-de"
currency="EUR"</code></code></pre>



<p>The account holder may also include umlauts. However, the Girocode definition does not permit the use of all Unicode characters from the character set. The PDF invoice contains a different account holder.<br></p>



<p></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatic ZUGFeRD validation with the Kosit Validator</title>
		<link>https://www.lvbprint.de/en/2025/11/13/zugferd-validierung/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Thu, 13 Nov 2025 19:27:59 +0000</pubdate>
				<category><![CDATA[ZUGFeRD Composer]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[kosit]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[zugferd]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1849</guid>

					<description><![CDATA[The article describes how automatic ZUGFeRD validation can be performed using the ZUGFeRD Composer, which utilises the official KoSIT validation, with an optional HTML report.]]></description>
										<content:encoded><![CDATA[<h3>New! Automatic ZUGFeRD validation of digital invoices with the free Kosit Validator</h3>
<p>There is a new version of ZUGFeRD Composer 1.0.0.4 with the following new features:</p>
<p><a href="https://www.lvbprint.de/files/zugferd/History.pdf" target="_blank" rel="noopener">ZUGFeRD-Composer History </a></p>
<p>In addition to a few new BT fields, Composer now supports a <strong>automatische </strong><strong>Validierung</strong> der erzeugten XRechnung  mit dem <a href="https://github.com/itplr-kosit/validator/" target="_blank" rel="noopener">Kosit Validierer.</a></p>
<p class="translation-block">KoSIT validation is a testing procedure carried out by the Coordination Office for IT Standards (<a href="https://www.xoev.de/" target="_blank" rel="noopener">KoSIT</a>).</p>
<p class="translation-block">Simply use the <strong>/v</strong> option and, if necessary, add <strong>/vH</strong> for a report in HTML format.</p>
<p>All examples with macros include an automatic call. If the validator reports an error, the Composer also generates a corresponding error.</p>
<p>Please note that the call may take some time.</p>
<h3>As a reminder</h3>
<p>ZUGFeRD Composer is a command line tool that can be used to create valid digital invoices in XRechnung or ZUGFeRD format from text files.</p>
<p>The composer could be used for:</p>
<ul>
<li>In Word-, Excel- and LibreOffice macros to extract the text contained and call up the Composer</li>
<li>Print the documents (including mixed Word/Excel documents) on a PrintMulti printer (XRechnung in the example). In most cases, PrintMulti can extract the text and also create a PDF in ZUGFeRD format.</li>
</ul>
<ul>
<li>If an application can copy the invoice text to the clipboard in a meaningful way, it is also possible to use the Composer.</li>
</ul>
<h3 style="text-align: left;">Here is an excerpt from a generateHtml report</h3>
<p><a href="https://www.lvbprint.de/en/2025/04/05/zugferd-rechnungen-aus-excel-erzeugen/"><img decoding="async" class="size-full wp-image-1851 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/11/ValidationExample.png" alt="Kosit Validator Example" width="905" height="941" title="Automatische ZUGFeRD Validierung mit dem Kosit Validator 3" srcset="https://www.lvbprint.de/wp-content/uploads/2025/11/ValidationExample.png 905w, https://www.lvbprint.de/wp-content/uploads/2025/11/ValidationExample-289x300.png 289w, https://www.lvbprint.de/wp-content/uploads/2025/11/ValidationExample-768x799.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/11/ValidationExample-12x12.png 12w" sizes="(max-width: 905px) 100vw, 905px" /></a></p>
<p>Here is an overview of the possibilities of digital invoicing:</p>
<p><figure id="attachment_1840" aria-describedby="caption-attachment-1840" style="width: 978px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-1840" src="https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_.png" alt="Übersicht ZUGFeRD Beispiele" width="978" height="776" title="Automatische ZUGFeRD Validierung mit dem Kosit Validator 4" srcset="https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_.png 1137w, https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_-300x205.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_-1024x700.png 1024w, https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_-768x525.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/12/ZUGFeRD.drawio.en_-18x12.png 18w" sizes="auto, (max-width: 978px) 100vw, 978px" /><figcaption id="caption-attachment-1840" class="wp-caption-text">ZUGFeRD examples</figcaption></figure></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gültige ZUGFeRD Rechnungen aus Excel Dateien erzeugen</title>
		<link>https://www.lvbprint.de/en/2025/04/05/zugferd-rechnungen-aus-excel-erzeugen/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Sat, 05 Apr 2025 13:49:42 +0000</pubdate>
				<category><![CDATA[ZUGFeRD Composer]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[factur-x]]></category>
		<category><![CDATA[XRechnung]]></category>
		<category><![CDATA[zugferd]]></category>
		<category><![CDATA[zugferd aus excel]]></category>
		<category><![CDATA[zugferd aus excel erstellen]]></category>
		<category><![CDATA[ZUGFeRD excel]]></category>
		<category><![CDATA[zugferd mit excel]]></category>
		<category><![CDATA[ZUGFeRD Rechnung]]></category>
		<category><![CDATA[ZUGFeRD Rechnung aus Excel]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1767</guid>

					<description><![CDATA[Einführung Hier erfahren Sie im Detail, wie ZUGFeRD Rechnungen aus Excel Dateien erstellen können. Alle verwendeten Tools sind kostenlos. Die verschiedenen Möglichkeiten Bitte lesen Sie<div class="btn btn-light btn-arrow"><a href="https://www.lvbprint.de/en/2025/04/05/zugferd-rechnungen-aus-excel-erzeugen/" rel="nofollow" title="Read More">Read More</a></div>]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Hier erfahren Sie im Detail, wie ZUGFeRD Rechnungen aus Excel Dateien erstellen können. Alle verwendeten Tools sind kostenlos.</p>
<h2>Die verschiedenen Möglichkeiten</h2>
<p>Bitte lesen Sie zunächst den Einführungsteil aus diesem <a href="https://www.lvbprint.de/en/2025/04/03/zugferd-xrechnung-aus-word-erzeugen/" target="_blank" rel="noopener">Artikel</a> über die Rechnungserstellung mit Word.</p>
<h4>Die „Versteckte-Text Methode mit eingebettetem Excel Objekt“</h4>
<p>Das ist eine Mischung aus Word und eingebettetem Excel-Sheet mit den tatsächlichen Berechnungen.<br />Diese Möglichkeit ist in dem <a href="https://www.lvbprint.de/en/2025/04/03/zugferd-xrechnung-aus-word-erzeugen/" target="_blank" rel="noopener">Artikel</a> mit Word beschrieben.</p>
<h4><strong>Die &#8222;Kommentar Methode&#8220;</strong></h4>
<p>Jede Zelle mit Rechnungsinformationen erhält einen Kommentar in einem bestimmten Format, welches ein Makro ausliest und wie beim Word Beispiel mit <em>&#8222;benannten Verweisen&#8220;</em> eine Konfigurationsdatei für den Composer mit den extrahierten Daten erzeugt.</p>
<p>Das Makro kann dann auch gleich eine PDF/A3 erzeugen, so dass auch ZUGFeRD Rechnungen möglich sind.</p>
<p>Sie können jederzeit das Makro verändern und auf Ihre Bedürfnisse anpassen. In dem Beispiel <em>&#8222;invoice_using_comments.xlsm&#8220;</em> enthält das erste Sheet eine ausführlichere Beschreibung über die mögliche Formatierung der Kommentare.</p>
<p>Hier ein kurzer Ausflug in die Syntax der verwendeten Kommentare:</p>
<ul>
<li>Es gibt einfache Kommentare bei denen ein einzelnes Rechnungspattern mit Unterstrich verwendet wird. Alle möglichen Pattern sind in der Composer Konfigurationsdatei &#8222;DefaultExtractConfiguration.txt&#8220; (die wird hier nicht verwendet, aber die Namen der Pattern sind alle aufgeführt) enthalten. Die meisten Einträge erfolgen auf diese Art: z.B. &#8222;_seller_contact_name&#8220;</li>
<li>Um die Definition für kombinierte Teile einfacher zu machen, kann man auch mehrere Pattern in einem Kommentar verarbeiten. Die Patternteile sind immer durch Strichpunkt getrennt. Man kann einen Trenner für den aufzuteilenden  Text mit &#8222;sep=&#8220; festlegen. Ohne Angabe ist das ein Leerzeichen.
<ul>
<li style="list-style-type: none;">
<ul>
<li>Ein Beispiel für eine Auftrennung mit Leerzeichen ist bei &#8222;Land Plz Ort&#8220; zu sehen. Um diese nicht in drei getrennte Zellen definieren zu müssen, wird hier einfach &#8222;_seller_country;_seller_postcode;_seller_city&#8220; angegeben.<br />Zeilenumbrüche werden ignoriert und nur die Teile mit Unterstrich finden Beachtung.  Falls durch die Spaltung des Textes mehr Einzelteile als Definitionen gibt, dann enthält der letzte Teil den kompletten Rest des Textes.<br />Das ist hier ja auch sinnvoll, da das Land und die Postleitzahl keine Leerzeichen enthalten, der Ort u.U. aber schon.</li>
<li>Es gibt auch Kommentare mit mehreren Teilen und anderem Trennzeichen wie bei der Umsatzsteuer. Dort ist als Kommentar hinterlegt: <em>&#8222;sep=:;egal;_seller_vat&#8220;.</em>Bei dem Text &#8222;USt-IdNr: DE987654321&#8220; würde also am Doppelpunkt getrennt und der erste Teil ignoriert (da nicht mit Unterstrich anfängt). Der zweite wird als &#8222;seller_vat&#8220; dem Composer übergeben. Leerzeichen vor und nach dem Text werden entfernt.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Das geschieht alles im Makro und kann ggf. angepasst werden.</p>
<p><img loading="lazy" decoding="async" class="wp-image-1777 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments_parts-300x181.png" alt="Zusammengesetzte Kommentare" width="452" height="273" title="Gültige ZUGFeRD Rechnungen aus Excel Dateien erzeugen 7" srcset="https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments_parts-300x181.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments_parts-18x12.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments_parts.png 428w" sizes="auto, (max-width: 452px) 100vw, 452px" /></p>
<p>Hier sieht man fast alle Kommentare (fettgeschriebene Kommentare haben keine besondere Bedeutung; &#8222;Rabatt/Zuschlag&#8220; dient hier als Verkäufername)</p>
<p><img loading="lazy" decoding="async" class="wp-image-1778" src="https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments-300x212.png" alt="Alle Kommentare" width="1100" height="777" title="Gültige ZUGFeRD Rechnungen aus Excel Dateien erzeugen 8" srcset="https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments-300x212.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments-18x12.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/04/invoice_using_comments.png 1170w" sizes="auto, (max-width: 1100px) 100vw, 1100px" /></p>
<p>Das Beispiel funktioniert nur mit dem enthaltenen Makro. Wichtige Konstanten (wie den Pfad zum Composer) finden Sie ganz oben in der Datei:</p>
<p>Const debugOutput As Boolean = True</p>
<pre>' Create a job log output file 
Const JobLogOutput As Boolean = True
 
' Default path were all files are 
Const basePath As String = "C:\ZUGFeRDComposer\"
 
' Options for ZUGFeRDComposer 
Const additionalOptions As String = " /mE /fL /fO"</pre>
<p>Das Excel-Beispiel enthält mehrere Sheets mit unterschiedlicher Konfiguration von Zuschlägen und Rabatten. Das Makro erzeugt immer aus dem aktuellen Sheet die Rechnung.</p>
<p><a href="https://www.lvbprint.de/files/zugferd/examples/excel_comments.pdf" target="_blank" rel="noopener">Hier</a> eine erzeugte ZUGFeRD Rechnung vom ersten Sheet:</p>
<p>Die Jobdatei vom Composer enthält eine Liste aller Ergebnisse, erfolgreich oder mit Fehlern, dem Kunden, Fälliger Betrag, &#8230;, falls die Option &#8222;/OJ&#8220; festgelegt wurde (im Makro über <em>&#8222;JobLogOutput&#8220;</em> Konstante)</p>
<pre>Date;Result;Message;Invoice Nr; Invoice Date;Buyer name;Invoice sum; Invoice to pay
2025-04-05_15-15-13;OK;Successful;DC-4711;05.04.2025;Kundenname;;49.59
</pre>
<p>Bei der Verwendung der Standardpfade finden Sie im Verzeichnis <em>&#8222;C:\ZUGFeRDComposer\Temp&#8220;</em> einige Logdateien und die temporäre PDF, die zum Einbetten des XML verwendet wurde.</p>
<p><a href="https://www.portinvoice.com/" target="_blank" rel="noopener">Bei &#8222;portinvoice&#8220;</a> können Sie Online dann das Ergebnis genauestens verifizieren und sich eine <a href="https://www.lvbprint.de/files/zugferd/examples/sichtkopie710333002.pdf" target="_blank" rel="noopener">Sichtkopie</a> anzeigen lassen:</p>
<p>Importieren der XRechnung geht auch über das sehr hilfreiche Rechnungs-Tool von <a href="https://tools.pdf24.org/de/elektronische-rechnung-erstellen" target="_blank" rel="noopener">pdf24</a> (kann man auch lokal installieren), das sehr zu empfehlen ist (auch für die Rechnungserstellung selber, falls Sie die Daten selber eingeben möchten). Hier ein <a href="https://www.lvbprint.de/en/2025/04/03/zugferd-xrechnung-aus-word-erzeugen/" target="_blank" rel="noopener">Beispiel</a> für die dort erstellte <a href="https://www.lvbprint.de/files/zugferd/examples/pdf24-Rechnung-DC-4711.pdf" target="_blank" rel="noopener">ZUGFeRD Rechnung</a>.</p>


<p></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ZUGFeRD Rechnungen aus Word Dateien erzeugen</title>
		<link>https://www.lvbprint.de/en/2025/04/03/zugferd-rechnungen-aus-word-erzeugen/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Thu, 03 Apr 2025 16:50:20 +0000</pubdate>
				<category><![CDATA[ZUGFeRD Composer]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[factur-x]]></category>
		<category><![CDATA[XRechnung]]></category>
		<category><![CDATA[zugferd]]></category>
		<category><![CDATA[zugferd mit word]]></category>
		<category><![CDATA[ZUGFeRD Rechnungen aus word]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1669</guid>

					<description><![CDATA[Inhalt Dieser Artikel zeigt verschiedene Möglichkeiten auf, wie man gültige ZUGFeRD Rechnungen aus Word Dokumenten frei erstellen kann. Einführung für die Erstellung von ZUGFeRD Rechnungen<div class="btn btn-light btn-arrow"><a href="https://www.lvbprint.de/en/2025/04/03/zugferd-rechnungen-aus-word-erzeugen/" rel="nofollow" title="Read More">Read More</a></div>]]></description>
										<content:encoded><![CDATA[<h2>Inhalt</h2>
<p>Dieser Artikel zeigt verschiedene Möglichkeiten auf, wie man gültige ZUGFeRD Rechnungen aus Word Dokumenten frei erstellen kann.</p>
<h2>Einführung für die Erstellung von ZUGFeRD Rechnungen aus Word</h2>
<p>Zum Ausprobieren laden Sie am besten dieses <a href="https://www.lvbprint.de/files/zugferd/latest/ZUGFeRDComposer.zip" target="_blank" rel="noopener">Archiv</a> herunter und entpacken es in ein Verzeichnis <em>&#8222;C:\ZUGFeRDComposer&#8220;</em>, so dass Verzeichnisse wie <em>&#8222;C:\ZUGFeRDComposer\Bin&#8220;</em> entstehen.</p>
<p>Im Unterverzeichnis <em>&#8222;Examples&#8220;</em>  befinden sich die hier referenzierten Beispiele sowie diverse Hilfedateien.<br />
Weitere Details zum Composer finden Sie <a href="https://www.lvbprint.de/en/zugferd_xrechnung_factur-x/" target="_blank" rel="noopener">hier</a>:</p>
<p>Im Internet gibt es inzwischen eine Vielzahl von Angeboten zur Erstellung digitaler Rechnungen. Meistens sind dafür jedoch spezielle Dokumente erforderlich oder Sie müssen die Daten online eingeben und die Rechnung herunterladen. Dabei vertrauen Sie dem Anbieter Ihre Daten an. In diesem Artikel erfahren Sie, wie Sie mit dem <a href="https://www.lvbprint.de/en/zugferd_xrechnung_factur-x/" target="_blank" rel="noopener">ZUGFeRD-Composer</a> und ggf. <a href="https://www.lvbprint.de/en/printmulti-simultaneous-printing/" target="_blank" rel="noopener">PrintMulti</a> aus Ihren Lieblingsdokumenten rechtskonforme digitale Rechnungen erstellen. Was mit Word/Excel funktioniert, klappt vermutlich auch mit Libre-Office Anwendungen.</p>
<p>Dieser Artikel konzentriert sich auf die Microsoft Anwendungen. Es ist ein Libre-Writer Beispiel enthalten, das mit PrintMulti oder über die Zwischenablagemöglich verwendet werden kann.</p>
<p>Um die dauernde Wiederholung der Begriffe ZUGFeRD, XRechnung und Factur-X zu verhindern, verwendet dieser Artikel folgende Abkürzungen in der angezeigten Farbe.</p>
<ul>
<li><em>PDF</em> : Allgemein das PDF Format</li>
<li><span style="color: #0000ff;"><em>_pdf_</em></span> : Das ist die Basis PDF/A3 Datei die zur Einbettung von digitalen Rechnungen verwendet wird.
<ul>
<li>Sie können diese durch Speichern des Dokuments in Word oder Libre-Writer erzeugen</li>
<li>Durch Drucken auf einen geeigneten PDF Drucker wie den im PrintMulti Beispiel verwendeten PDF-Architect (da genügt die freie Version)</li>
<li>Oder ggf. aus Ihrer Anwendung durch eine der vielen Bibliotheken.</li>
</ul>
</li>
<li><span style="color: #0000ff;"><em>_PDF_</em></span> : Das entspricht dem ZUGFeRD Format also ein PDF/A3 mit eingebetteter digitialer Rechnung</li>
<li>XML : Allgemein das XML Format</li>
<li><span style="color: #0000ff;">_XML_</span> : Digitale Rechnung im XML Format. Dafür gibt es verschiedene Normen und Formate wie z.B. <a href="https://www.treuz.de/2024/12/31/10-zugferd-oder-xrechnung-ubl-oder-cii/" target="_blank" rel="noopener">CII und UBL</a>. Der Composer kann über Kommandozeile oder eine Konfigurationsdatei alle möglichen Formate erzeugen sofern die zugrundeliegende Bibliothek <a href="https://github.com/stephanstapel/ZUGFeRD-csharp" target="_blank" rel="noopener">ZUGFeRD-csharp</a> sie unterstützt (Denken Sie ggf. auch daran, den Autor dieser Bibliothek zu unterstützen).</li>
</ul>
<h2>Die verschiedenen Möglichkeiten</h2>
<h3>Das braucht der Composers</h3>
<ul>
<li>Eine <em>&#8222;Textdatei&#8220;</em> mit dem Inhalt der Rechnung oder die entsprechenden Daten in der Zwischenablage.</li>
<li>Eine <em>&#8222;Konfigurationsdatei&#8220;</em>, die festlegt, wie die Rechnungsdaten aus der Textdatei extrahiert werden. Diese Datei kann auch Konstanten wie z.B. wiederkehrende Daten enthalten. Falls alle notwendigen Rechungsdaten als Konstanten enthalten sind, wird die Textdatei nicht benötigt (z.B.: Serienbriefbeispiele)</li>
<li>Falls eine <span style="color: #0000ff;"><em>_PDF_</em></span> erstellt werden soll (bei <span style="color: #0000ff;">_XML_</span> nicht notwendig), wird die Originalrechnung in einer PDF/A-3-Datei (<span style="color: #0000ff;"><em>_pdf_</em></span>) benötigt.</li>
</ul>
<h3>Diese Möglichkeiten gibt es</h3>
<h4><strong><strong>Die &#8222;Versteckte-Text Methode&#8220;</strong></strong></h4>
<p>Mit Hilfe von Formatvorlagen werden Steueranweisungen in kleiner weißer Schrift vor und hinter die Rechnungsteile geschrieben. Durch Makros oder Modifikation der Formatvorlagen können diese für Testzwecke leicht sichtbar gemacht werden. Um den Text der so angepassten Rechnung dem Composer zur Verfügung zu stellen, gibt es mehrere Möglichkeiten:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><em>Über die Zwischenablage mittels Strg+A / Strg+C oder über ein Makro den Text markieren</em>. Der Composer kann den Text aus der Zwischenablage mit der Option ‚/iC‘ übernehmen. Dies funktioniert bei allen Rechnungen, die versteckten Text enthalten und bei denen die Anwendung den Text korrekt formatiert in die Zwischenablage kopiert. Bei Verwendung eines Makros könnte das aktuelle Dokument als PDF gespeichert werden und somit <span style="color: #0000ff;">_PDF_</span> erzeugt werden. Ein Beispiel für ein Kommandozeilen-Skript <em>„RunFromClipboard.cmd“</em> ist enthalten. <span style="color: #0000ff;">_XML_</span> können dann einfach durch Kopieren der Rechnung aus Word, Libre-Writer, Browser, &#8230; in die Zwischenablage und Aufruf des Skripts erstellt werden
<pre>Beispiel:Alle mit versteckten Texten z.B. invoice_two_novat_no_eu.docx, invoice_two_vat.docx, invoice_two_vat.odt</pre>
</li>
<li><em>Mittels IFilter Technik</em> Diese Technik wird von Windows verwendet, um Text aus Dokumenten zu extrahieren und für die Volltextsuche zu verwenden. Für die Verwendung im Composer muss der Text, den der entsprechende IFilter aus dem Dokument erzeugt, entsprechend formatiert sein. Dies funktioniert nicht für alle Dokumenttypen, scheint aber für Word zu funktionieren. Es wird ein eigenständiges Tool „Ifiltercmd.exe“ mitgeliefert, mit dem die Technik unabhängig ausprobiert werden kann. Der Composer kann auch eine Log-Datei mit dem extrahierten Text erzeugen.
<pre>Beispiel: invoice_two_vat.docm mit dem Smiley Makro</pre>
</li>
<li><em>Durch Drucken auf einen PrintMulti-Drucker</em> Die Konfiguration eines entsprechenden PrintMulti Druckers ist mit Hilfe der Beispieldateien und der Hilfe sehr einfach. Auf diesem Drucker wird dann automatisch eine PDF/A-3-Datei erzeugt und der Composer mit dem aus dem Druckdatenstrom extrahierten Text aufgerufen. Das funktioniert mit allen Dokumenten, die versteckten Text enthalten und die Anwendung dieser auch tatsächlich druckt. Bei Bedarf können Sie den Drucker im Netzwerk freigeben und so von mehreren Arbeitsplätzen aus digitale Rechnungen erzeugen. Der Composer und die Konfigurationsdateien werden dann nur auf dem Rechner benötigt, der den PrintMulti Drucker freigibt.</li>
</ul>
</li>
</ul>
<h4>Die &#8222;Serienbrief-Methode mit versteckten Texten</h4>
<p>Nicht jede Rechnung sieht gleich aus und es kann mühsam sein, die Beträge, Summen usw. jedes Mal neu in Word einzugeben. Man kann diese variablen Daten auch aus einer Datenquelle holen und dort die Berechnungen durchführen. Im Prinzip handelt es sich immer noch um ein einfaches Word-Dokument und für die Rechnungserstellung selbst können alle Möglichkeiten wie bei der &#8222;Versteckte-Text Methode&#8220; ohne Serienbriefunterstützung genutzt werden.</p>
<pre>Beispiele MailMerge.docx oder MailMerge.docm mit Mailmerge.xlsx</pre>
<h4>Die &#8222;Serienbrief-Methode mit benannten Verweisen&#8220;</h4>
<p>Der Inhalt ist nahezu identisch mit der vorherigen Methode. Die Rechnungserstellung unterscheidet sich jedoch grundlegend. Alle Rechnungselemente werden über Referenzen mit eindeutigen Namen definiert. Die veränderbaren Elemente werden wieder über Seriendruckfelder eingefügt. Die fixen Elemente über Dokumenteigenschaften. Die Namen müssen den in der Composer-Konfigurationsdatei definierten Namen entsprechen und mit einem Unterstrich beginnen. Für die Rechnungserstellung ist ein Makro erforderlich, das die Referenznamen und Inhalte extrahiert und eine Composer-Konfigurationsdatei mit konstanten Werten erzeugt. Sie können das Makro bei Bedarf anpassen, wenn Ihnen die Namenssyntax nicht gefällt, oder konstante Daten fest einfügen. Bei dieser Methode ist die Verwendung von <a href="https://www.lvbprint.de/en/printmulti-simultaneous-printing/" target="_blank" rel="noopener">PrintMulti</a> nicht möglich (die Rechnungselemente werden nicht gedruckt).</p>
<pre>Beispiel: MailMergeNoPattern.docm mit MailMergeNoPattern.xlsx</pre>
<h4>Die &#8222;Versteckte-Text Methode mit eingebettetem Excel Objekt&#8220;</h4>
<p>Wenn die Berechnungen kompliziert werden, bietet sich vielleicht diese Möglichkeit an. Sowohl die Rechnungsgrunddaten in Word als auch die Werte aus dem eingebetteten Excel Sheet enthalten versteckte Texte, die jeweils über Formatvorlagen in Word- oder Excel sichtbar gemacht werden können. Der Nachteil hier ist, dass weder die Zwischenablage noch die IFilter-Technik funktionieren. Nur durch das Drucken auf einen <a href="https://www.lvbprint.de/en/printmulti-simultaneous-printing/" target="_blank" rel="noopener">PrintMulti</a> Drucker kann eine digitale Rechnung erzeugt werden.</p>
<pre>Beispiel (Excel Verzeichnis): invoice_excel.docx und alle embed*.xlsx Dateien.</pre>
<p><span id="more-1669"></span></p>
<h3>Details zu den Möglichkeiten</h3>
<p>Es folgenden noch einige Bilder und Anmerkungen zu den verschiedenen Methoden</p>
<h4>Versteckte Texte Methode</h4>
<p><img loading="lazy" decoding="async" class="wp-image-1719 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod-300x137.png" alt="HiddenTextMethod" width="999" height="456" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 15" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod-300x137.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod-1024x466.png 1024w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod-18x8.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod.png 1200w" sizes="auto, (max-width: 999px) 100vw, 999px" /></p>
<p>Die zu verwenden Pattern sind in der Konfigurationsdatei des Composers hinterlegt und können ggf. angepasst werden. Das Trennzeichen &#8218;⁞&#8216; ist einfach ein selten verwendetes Zeichen aus dem Unicode-Zeichensatz. Es darf nicht innerhalb des extrahierten Textes vorkommen. Das &#8222;#&#8220; in &#8222;Q#3&#8220; dient hier als Platzhalter für Rechnungspositionen. Beim Ausführen des Makros mit dem grünen Button oder durch manuelles Ändern der Formatvorlage, verschwinden die Steuertexte.<img loading="lazy" decoding="async" class="wp-image-1722 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod_Hidden-300x224.png" alt="HiddenTextMethod Hidden" width="910" height="680" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 16" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod_Hidden-300x224.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod_Hidden-768x574.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod_Hidden-16x12.png 16w, https://www.lvbprint.de/wp-content/uploads/2025/03/HiddenTextMethod_Hidden.png 825w" sizes="auto, (max-width: 910px) 100vw, 910px" /></p>
<p>Beim Kopieren in die Zwischenablage oder beim Ausführen der IFilter Methode, sind sie aber als Text vorhanden:</p>
<pre>...
MENGE UNIT BESCHREIBUNG MWST. PREIS PRO EINHEIT GESAMT
[Q_1] 2⁞ [U_1]m^3⁞ [N_1]Ohne Position⁞ [R_1]19%⁞ [P_1]523,00€⁞ [A_1]1.046,00€⁞
[I_2]2⁞[Q_2] 4⁞ [U_2]m³⁞ [N_2]Irgendwas mit 7% MwSt.⁞ [R_2]7%⁞ [P_2]14,00€⁞ [A_2]56,00€⁞
[I_3]3⁞[Q_3] 3⁞ [N_3]Ohne Einheit⁞ [R_3]7%⁞ [P_3]11,00€⁞ [A_3]33,00€⁞
[I_4]4⁞[Q_4] 2⁞ [U_4]m³⁞ [N_4]Default MwSt.19% (aus (R_) oben) ⁞ 19% [P_4]7,50€⁞ [A_4]15,00€⁞
[I_5]XX⁞[Q_5] 4⁞ [U_5]Stk.⁞ [N_5]Zeit für Guinness im Scruffies⁞ 19% [P_5]6,50€⁞ [A_5]26,00€⁞
...</pre>
<h4>Die &#8222;Serienbrief-Methode mit versteckten Texten</h4>
<p>Im Gegensatz zur vorigen Methode werden hier einfach Rechnungsteile über Seriendruckfelder eingefügt.</p>
<p><img loading="lazy" decoding="async" class="wp-image-1732 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_ShowFields-300x116.png" alt="MailMerge ShowFields" width="776" height="300" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 17" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_ShowFields-300x116.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_ShowFields-768x298.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_ShowFields-18x7.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_ShowFields.png 791w" sizes="auto, (max-width: 776px) 100vw, 776px" /></p>
<p>Hier ein Ausschnitt der Daten aus Excel (funktioniert natürlich auch mit anderen Datenquellen). Die Namen der Überschriften sind hier nicht festgelegt</p>
<table width="780">
<tbody>
<tr>
<td width="151"><strong>_NAME_</strong></td>
<td width="110"><strong>_ADDRNAME_</strong></td>
<td width="125"><strong>_ADDR1_</strong></td>
<td width="80"><strong>_CO_</strong></td>
<td width="80"><strong>_PLZ_</strong></td>
<td width="98"><strong>_TOWN_</strong></td>
<td width="136"><strong>_EMAIL_</strong></td>
</tr>
<tr>
<td>Gans GmbH</td>
<td>Gustav Gans</td>
<td>Entengasse 1</td>
<td>DE</td>
<td>54321</td>
<td>Entenhausen</td>
<td>gustav.gans@gans.de</td>
</tr>
<tr>
<td>Gans GmbH</td>
<td>Donald Duck</td>
<td>Entengasse 1</td>
<td>DE</td>
<td>54321</td>
<td>Entenhausen</td>
<td>gustav.gans@gans.de</td>
</tr>
<tr>
<td>Gans GmbH</td>
<td>Daisy Duck</td>
<td>Entengasse 1</td>
<td>DE</td>
<td>54321</td>
<td>Entenhausen</td>
<td>gustav.gans@gans.de</td>
</tr>
</tbody>
</table>
<p>Die drei Rechnungen enthalten verschiedene Mehrwertsteuersätze &#8222;19%&#8220;, &#8222;Befreit außerhalb EU&#8220;, &#8222;Befreit Reverse Charge&#8220;</p>
<h4>Die &#8222;Serienbrief-Methode mit benannten Verweisen&#8220;</h4>
<p>Hier sind keine versteckten Texte nötig. Die Rechnungsteile werden wie im letzten Beispiel über Seriendruckfelder (diesmal aber mit genau definiertem Namen) und Dokumentenfelder eingefügt.</p>
<blockquote><p>Die Erzeugung der <span style="color: #0000ff;">_XML_</span> oder <span style="color: #0000ff;">_PDF_ <span style="color: #000000;">kann nur über ein Makro erfolgen, da die Referenzen programmatisch extrahiert werden müssen. Drucken mit einem Rechnungsdrucker über PrintMulti ist nicht möglich.</span></span></p></blockquote>
<p><img loading="lazy" decoding="async" class="wp-image-1736 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_NoPattern-300x150.png" alt="MailMerge NoPattern" width="828" height="414" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 18" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_NoPattern-300x150.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_NoPattern-768x384.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_NoPattern-18x9.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_NoPattern.png 873w" sizes="auto, (max-width: 828px) 100vw, 828px" /></p>
<p>Die Dokumenteninformationen findet man je nach Version an unterschiedlicher Stelle.  In meiner Word-Version sieht es so aus:</p>
<p><img loading="lazy" decoding="async" class="wp-image-1737 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information-300x155.png" alt="MailMerge Information" width="835" height="431" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 19" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information-300x155.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information-1024x527.png 1024w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information-768x396.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information-18x9.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/03/MailMerge_Information.png 1157w" sizes="auto, (max-width: 835px) 100vw, 835px" /></p>
<p>Die Datenquellen Überschriften müssen feste Titel haben, damit diese auf die erwarteten Konfigurationseinträge abgebildet werden können. Das enthaltene Makro erwartet einen führenden Unterstrich.</p>
<table width="686">
<tbody>
<tr>
<td width="107"><strong>_invoice_nr</strong></td>
<td width="107"><strong>_invoice_type</strong></td>
<td width="107"><strong>_invoice_currency</strong></td>
<td width="107"><strong>_invoice_date</strong></td>
<td width="107"><strong>_invoice_payment_due_date</strong></td>
<td width="151"><strong>_buyer_name</strong></td>
</tr>
<tr>
<td>123</td>
<td>facture</td>
<td>EUR</td>
<td>02.04.2025</td>
<td>12.04.2025</td>
<td>Gans GmbH</td>
</tr>
<tr>
<td>124</td>
<td>invoice</td>
<td>€</td>
<td>02.04.2025</td>
<td>12.04.2025</td>
<td>Gans GmbH</td>
</tr>
<tr>
<td>125</td>
<td>Rechnung</td>
<td>$</td>
<td>02.04.2025</td>
<td>12.04.2025</td>
<td>Gans GmbH</td>
</tr>
</tbody>
</table>
<h4></h4>
<p><!--more--></p>
<h4>Die &#8222;Versteckte-Text Methode mit eingebettetem Excel Objekt&#8220;</h4>
<p>Die Beispiele enthalten keine Makros zum Ausblenden der Steuertexte. Sie müssen die Formatvorlagen in Word und Excel anpassen.<br />
Am besten öffnen Sie das Word-Dokument und fügen das Excel-Objekt als Referenz ein.</p>
<blockquote><p>Digitale Rechnungen können in diesem Format nur über PrintMulti erstellt werden, da das eingebettete Objekt weder als Text in der Zwischenablage landet noch mit der Erzeugung mit IFilter funktioniert.</p></blockquote>
<p><img loading="lazy" decoding="async" class="wp-image-1745 alignnone" src="https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-300x139.png" alt="WordEmbedExcelAuswahl" width="1008" height="467" title="ZUGFeRD Rechnungen aus Word Dateien erzeugen 20" srcset="https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-300x139.png 300w, https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-1024x473.png 1024w, https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-768x355.png 768w, https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-1536x710.png 1536w, https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl-18x8.png 18w, https://www.lvbprint.de/wp-content/uploads/2025/03/WordEmbedExcelAuswahl.png 1638w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></p>
<p>Das Ergebnis sieht jetzt in Word nicht so toll aus, aber wenn Sie die Rechnung auf den Drucker &#8222;XRechnung&#8220; (siehe Hilfe zur Einrichtung im Unterverzeichnis &#8222;PrintMulti&#8220;) ausgeben, dann erhalten Sie eine <span style="color: #0000ff;">_PDF_</span> und eine <span style="color: #0000ff;">_XML_ <span style="color: #000000;">im Unterverzeichnis mit der Rechnungsnummer im Namen.</span></span></p>
<p>Hier können Sie die vollständige <a href="https://www.lvbprint.de/files/zugferd/examples/2025-0002.pdf" target="_blank" rel="noopener">_PDF_</a> betrachten (Der rechte Rahmen ist im nächsten Release in den Beispielen dann richtig)</p>
<p>In der jobs.csv können Sie auf Wunsch einen Eintrag für jede gedruckte Rechnung (erfolgreich oder nicht) eintragen lassen.</p>
<pre>2025-03-30_18-27-15;OK;Successful;2025-0002;01.03.2024;[Käuf. Firmenname];1.330,19 €;1.030,19 €</pre>
<h3>Digitale Rechnungen mit PrintMulti</h3>
<p>Mit PrintMulti als Druckprozessor kann ein virtueller Drucker erzeugt werden, der in der Lage ist gedruckten Text aus dem Datenstrom zu extrahieren und so die notwendige Textdatei für den Composer zur Verfügung zu stellen.</p>
<p>Eigentlich ist es dazu gedacht Druckjobs zu vervielfältigen und auf mehreren Druckern mit vielen Veränderungen auszugeben. In diesem Fall wird der<br />
&#8222;PDF Architect 9&#8220; PDF Dateidrucker verwendet um direkt ohne Postscript Umwege eine geeignete PDF/A3 zu erhalten. Der &#8222;Microsoft Print to PDF&#8220; ist nicht in der Lage PDFs in diesem Format zu erzeugen (zumindest zum aktuellen Zeitpunkt).</p>
<p>Die digitale Rechnungserzeugung mit PrintMulti ist nur möglich wenn die zu druckenden Rechnung die versteckten Zeichen enthält.</p>
<p>Die Vorteile sind</p>
<ul>
<li>Für Benutzer ein gewohnter Arbeitsschritte &#8222;Drucken auf einen Drucker&#8220;</li>
<li>Eine Freigabe des Druckers von einem Server (kostenpflichtig) oder einem Clientcomputer ist machbar und ermöglicht eine zentrale Verwaltung</li>
<li>Es können noch weitere PrintMulti typischen Aktionen gleichzeitig konfiguriert werden, wie das Drucken auf einen weiteren Drucker, eine Archivierung, &#8230;</li>
</ul>
<p><a href="https://www.lvbprint.de/en/files/zugferd/PrintMulti_de.pdf/" target="_blank" rel="noopener">Hier</a> finden Sie ein Dokument das die Installation beschreibt. Es ist auch im Download Archiv enthalten.</p>
<p>Ich will hier noch etwas auf die spezielle Konfiguration für den XRechnungsdrucker eingehen. Der wichtigste Teil sieht so aus:</p>
<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background"><strong>[XRechnung]</strong>
<span style="color: #ff6600;">Active</span>=1
ActionXRechnung=Print;XRechnungAction

<span style="color: #999999;">; for all actions</span>
<span style="color: #0000ff;">!BasePath=C:\ZUGFeRDComposer</span>

<span style="color: #999999;">; Virtual Printer - need PrintMulti as Print Processor</span>
<strong>[XRechnungAction]</strong>
<span style="color: #ff6600;">Active</span>=1

<span style="color: #999999;">; xml invoice (/OX)</span>
<span style="color: #0000ff;">!XRechnungFile=%BasePath%\<span style="color: #339966;">{invoice_nr}</span>\<span style="color: #339966;">{invoice_nr}</span>_<span style="color: #339966;">{Date}</span>_<span style="color: #339966;">{Time}</span>_pm.xml</span>
<span style="color: #999999;">; PDF with embedded xml (/OP)</span>
<span style="color: #0000ff;">!DstPDFFile=%BasePath%\<span style="color: #339966;">{invoice_nr}</span>\<span style="color: #339966;">{invoice_nr}</span>_<span style="color: #339966;">{Date}</span>_<span style="color: #339966;">{Time}</span>_pm.pdf</span>

<span style="color: #999999;">; Temp PDF</span>
<span style="color: #0000ff;">!SavedDFFile=%BasePath%\Temp\<span style="color: #ff0000;">#K</span>_<span style="color: #ff0000;">#J</span>.pdf</span>

<span style="color: #999999;">; Text file saved with WriteText2File option later</span>
<span style="color: #0000ff;">!TextFile=%BasePath%\Temp\<span style="color: #ff0000;">#K</span>_<span style="color: #ff0000;">#J</span>.txt</span>

<span style="color: #999999;">; Debug file containing detected patterns and values</span>
<span style="color: #0000ff;">!ExtractFile=%BasePath%\Temp\<span style="color: #339966;">{invoice_nr}</span>_<span style="color: #339966;">{Date}</span>_<span style="color: #339966;">{Time}</span>_pm_e.txt</span>

<span style="color: #999999;">; csv file containing one entry for each call containing result(OK,ERROR), Date, Invoice date, Invoice nr, some amounts (currently fixed layout)</span>
<span style="color: #0000ff;">!JobsFile=%BasePath%\Jobs\jobs.csv</span>

<span style="color: #999999;">; Maybe you want different configuration files for different printers</span>
<span style="color: #0000ff;">!ToolsConfiguration=%ZUGFerdToolsPath%\Defaults\ExtractConfiguration.txt</span>

<span style="color: #ff6600;">Printer</span>=PDF Architect 9
<span style="color: #999999;">; contains the PDF</span>
<span style="color: #ff6600;">Save2File</span>=%SavedDFFile%
<span style="color: #999999;">; Contains all text output directly in out line</span>
<span style="color: #ff6600;">WriteText2File</span>=%TextFile%
<span style="color: #999999;">; If you want to force PDF/A with the pdf architect, save a devmode with the tool devmode2file and use it here</span>
<span style="color: #999999;">;<span style="color: #ff6600;">Devmode1</span>=%BasePath%\ArchitextPDFA.dev</span>

<span style="color: #ff6600;">Execute</span>=yes
<span style="color: #999999;">; Hide console</span>
<span style="color: #ff6600;">ExecuteFlags</span>=0x08000000
<span style="color: #ff6600;">ExecuteTimeout</span>=INF
<span style="color: #ff6600;">ExecuteCmd</span>=@"%BasePath%\bin\ZugFerdComposer.exe" /IT @"<span style="color: #0000ff;">%TextFile%</span>" /IP @"<span style="color: #0000ff;">%SavedDFFile%</span>" /OX @"<span style="color: #0000ff;">%XRechnungFile%</span>" /OP @"<span style="color: #0000ff;">%DstPDFFile%</span>" /OJ @"<span style="color: #0000ff;">%JobsFile%</span>" /OE @"<span style="color: #0000ff;">%ExtractFile%</span>"</pre>
<p><strong>Bedeutung der Farben:</strong><br />
<span style="color: #ff6600;"><strong>orange</strong></span> sind PrintMulti Keywords<br />
<span style="color: #ff0000;"><strong>rot</strong></span> sind PrintMulti Makros, die durch Daten vom Drucken ersetzt werden<br />
<strong><span style="color: #0000ff;">blau</span></strong> sind gesetzte Umgebungsvariable (alle Variablen, die mit &#8218;!&#8216; anfängt, sind als Umgebungsvariablen verfügbar)<br />
<strong><span style="color: #339966;">grüne Pattern</span></strong> werden von Composer durch entsprechende Rechnungsteile ersetzt</p>
<p>Hier ein kurzer Überblick über die verwendeten Optionen. Details finden Sie im <a href="https://www.lvbprint.de/files/printmulti/PrintMulti_2.0_Manual_de.pdf" target="_blank" rel="noopener">PrintMulti Handbuch</a></p>
<ul>
<li>Der Drucker mit <em>&#8222;PrintMulti&#8220;</em> als Druckprozessor (hier <em>&#8222;XRechnung&#8220;</em>) muss als Text in eckigen Klammern mit <em>&#8222;Active=1&#8220;</em> angegeben werden.<br />
Hier werden verschiedene Aktionen wie Drucken oder als Bild speichern definiert. Der Name auf der linken Seite muss mit <em>&#8222;Action&#8220;</em> beginnen und sich von anderen <em>&#8222;Action&#8220;-</em>Einträgen unterscheiden.<br />
Auf der rechten Seite steht dann die auszuführende Aktion (hier <em>&#8222;Print&#8220;</em>) und ein Verweis auf den Abschnitt mit den spezifischen Einstellungen für die Aktion(hier &#8222;XRechnungAction&#8220;)<br />
Jeder PrintMulti Drucker kann in einer eigenen Konfigurationsdatei stehen. Der Ort wird ggf. in der Registry hinterlegt (siehe reg-Datei im PrintMulti Verzeichnis). Falls nicht angegeben wird immer die <em>&#8222;PrintMulti.ini&#8220;</em> im <em>&#8222;C:\Program Files\PrintMulti&#8220;</em> Verzeichnis verwendet. In einer Konfigurationsdatei können mehrere <em>&#8222;PrintMulti&#8220;</em> Drucker definiert sein.</li>
<li>Die Konfigurationsdatei fängt normalerweise mit einem allgemeinen Teil an,  der Einstellungen zur Protokollierung enthält. Dieser ist im obigen Beispiel nicht enthalten.</li>
<li>Im Abschnitt zum Drucken (hier <em>&#8222;XRechnungAction&#8220;</em>) selbst wird der Zieldrucker mittels <em>&#8222;Printer=&#8220;</em> definiert. Es wird noch festgelegt, dass nicht physikalisch gedruckt, sondern in eine Datei mit <em>&#8222;Save2File&#8220;</em> gespeichert werden soll.</li>
<li>Der für den Composer wichtige Inhalt des Dokuments wird mittels <em>&#8222;WriteText2File&#8220;</em> in eine Datei gespeichert und diese dann übergeben.</li>
<li>Am Ende sind mehrere Definitionen für das Ausführen eines Befehls (<em>&#8222;Execute*&#8220;</em>) . Es können auch mehrere Befehle ausgeführt werden, die dann aber in eigenen Sektionen definiert werden müssen (z.B. für eine folgende Archivierung).<br />
Die Konsole wird versteckt (ist bei modernen Windows-Versionen eh nicht zu sehen) und der unendlicher Timeout gewählt. Das wäre wichtig, wenn ein weiterer Abschnitt auf das Ergebnis des Befehls warten sollte.</li>
<li>Der eigentliche Aufruf des Composers mit den Parametern, jeweils in Anführungszeichen für Pfade, ist in der letzten Zeile zu finden. Die Bedeutung der Parameter finden Sie im <a href="https://www.lvbprint.de/files/zugferd/Manual_en.pdf" target="_blank" rel="noopener">Composer Handbuch</a>. Der letzte Parameter mit &#8222;/OE&#8220; übergeben ist optional und enthält die erkannten Rechnungsteile (Debugausgabe).</li>
</ul>
<blockquote><p>Wenn Sie den Composer und die PrintMulti Konfigurationsdatei woanders haben wollen, dann müssen Sie den <em>&#8222;<span style="color: #0000ff;">!BasePath</span>&#8222;</em> und auch den Pfad zur Konfigurationsdatei in der reg-Datei im PrintMulti Verzeichnis anpassen.</p>
<p>Wenn Sie den Namen des Rechnungsdrucker von <em>&#8222;XRechnung&#8220;</em> ändern wollen, dann müssen Sie ihn in der PrintMulti Konfigurationsdatei anpassen</p></blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Example of automatic PDF generation when printing with the selection of the file name</title>
		<link>https://www.lvbprint.de/en/2024/08/20/pdf-generation-file-dialog/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Tue, 20 Aug 2024 15:41:31 +0000</pubdate>
				<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[Choose file name]]></category>
		<category><![CDATA[PDF Drucken speichern]]></category>
		<category><![CDATA[PDF print save]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1537</guid>

					<description><![CDATA[Ermöglicht die Auswahl eines Dateinames für die PDF Datei]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction</h2>



<p class="has-medium-font-size translation-block">Automatic PDF generation is easily possible in PrintMulti, as described <a href="https://www.lvbprint.de/en/2023/10/16/pdf-creation/" data-type="link" data-id="https://www.lvbprint.de/en/2023/10/16/pdf-creation/" target="_self">here</a>. One wish was for the user to be able to choose the name of the PDF to be generated when printing.</p>



<h2 class="wp-block-heading">Solution using ‘File:’ port</h2>



<p class="has-medium-font-size">PrintMulti itself does not offer the possibility to show a dialogue, but with a little trick it still works. </p>



<p class="has-medium-font-size">You simply select ‘FILE:’ as the port for the PrintMulti printer and the application or Windows displays a file save dialogue to select a prn file when printing.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="463" height="528" src="https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileE.png" alt="ChoosePrnFileD" class="wp-image-1538" title="Beispiel für eine automatische PDF Erzeugung beim Drucken mit der Auswahl des Dateinamens 21" srcset="https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileE.png 463w, https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileE-272x300.png 272w, https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileE-11x12.png 11w" sizes="auto, (max-width: 463px) 100vw, 463px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="822" height="445" src="https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileDialogE.png" alt="ChoosePrnFileDialogD" class="wp-image-1541" title="Beispiel für eine automatische PDF Erzeugung beim Drucken mit der Auswahl des Dateinamens 22" srcset="https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileDialogE.png 669w, https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileDialogE-300x207.png 300w, https://www.lvbprint.de/wp-content/uploads/2024/08/ChoosePrnFileDialogE-18x12.png 18w" sizes="auto, (max-width: 822px) 100vw, 822px" /></figure>



<p class="has-medium-font-size translation-block">The trick now is to let the user select a prn file whose name is available with the new macro ‘#O’ within PrintMulti. There, ‘.prn’ is then simply replaced by ‘.pdf’ and the PDF is created as in the other example.</p>



<p class="has-medium-font-size translation-block">The PrintMulti.ini could look like this if the PrintMulti printer is called <em>‘PrintMulti Colour File’</em>.</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size"><em>[MicrosoftPrintToPDF]</em><br>Printer=Microsoft Print To PDF<br>Save2File=$(#O;.prn;.pdf;replace)<br>Color=1<br>Execute=yes<br>ExecuteAsUser=true<br>ExecuteFlags=0x08000000<br>ExecuteTimeout=INF<br>ExecuteCmd=cmd /c del @"#O"<br><br><em>[TestPrinter]</em><br>Printer=Testprinter<br><br><em>[PrintMulti Color File]</em><br>Active=1<br>ActionCreatePDF=Print;MicrosoftPrintToPDF<br>ActionPrint=Print;TestPrinter<br>PrintSelf=0<br></pre>



<p></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatic PDF creation when printing</title>
		<link>https://www.lvbprint.de/en/2023/10/16/pdf-creation/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Mon, 16 Oct 2023 18:43:25 +0000</pubdate>
				<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[PDF Drucken speichern]]></category>
		<category><![CDATA[PDF print save]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1444</guid>

					<description><![CDATA[Einleitung Eine häufige Anwendung von PrintMulti ist die automatische PDF Erstellung beim Drucken. Dieser Artikel zeigt, wie man PrintMulti so konfiguriert, dass dies auf einfache<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>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction</h2>



<p class="has-medium-font-size">A common use of PrintMulti is automatic PDF creation during printing. This article shows how to configure PrintMulti so that this is easily possible. It assumes that the printer currently in use can be used.</p>



<p class="has-medium-font-size translation-block">The requirements for this are already described in the article "<a href="https://www.lvbprint.de/en/2023/09/28/printing-copies-2/" target="_self">Printing copies with PrintMulti</a>", so we will start here with the configuration of a suitable PDF printer.</p>



<p></p>



<h2 class="wp-block-heading">Selecting a PDF printer</h2>



<p class="has-medium-font-size translation-block">It is best to choose a printer driver that <em>"prints"</em> directly to a PDF file and not a two-stage driver such as the <em><a href="https://www.pdfforge. org/en/pdfcreator" rel="noopener" target="_self">"PDF Creator"</a></em> and many others that technically use a Postscript driver and later convert the resulting Postscript file to PDF, often with the help of <em><a href="https://www.ghostscript.com/" rel="noopener" target="_self">"Ghostscript"</a></em>. This also works with PrintMulti, as described in the manual in chapter 8, but is not trivial to configure.</p>



<p class="has-medium-font-size">In this article, we will therefore limit ourselves to PDF printers that generate a PDF directly without any detours.</p>



<p class="has-medium-font-size translation-block">The easiest way is to use the <em>"Microsoft Print To PDF"</em> printer supplied with Windows. You may have to activate it in the <em>"Windows Features"</em> so that it appears. This does its job without any problems, but does not have many setting options.</p>



<p class="has-medium-font-size translation-block">Another free PDF printer is included with <em><a href="https://www.pdfforge.org/de/pdfarchitect" rel="noopener" target="_self">"PDF Architect"</a></em>, even in the free version. This offers many setting options such as PDF/A, margins, font embedding, encryption and much more. With the help of saved printer settings and the <em>"Devmode1"</em> option, you can also use different settings. You can find examples of this in the article "<a href="https://www.lvbprint.de/en/2023/09/28/printing-copies/" target="_self">Printing copies with PrintMulti</a>" or in the manual.</p>



<p class="has-medium-font-size">There are certainly still a number of PDF printers that fulfil the requirements. If you already have one in use, simply try it out and see whether the PDF file you receive is actually PDF or Postscript.</p>



<h2 class="wp-block-heading">Simple example for PDF creation</h2>



<p class="has-medium-font-size translation-block">Install the <em>"Microsoft Print To PDF"</em> or the <em>"PDF Architect"</em> or both and copy the lower section into the PrintMulti.ini. You must replace the <em>"Samsung"</em> printer with a suitable printer as described in the other article.</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size"><em>[MicrosoftPrintToPDF]</em>
Printer=Microsoft Print To PDF
Save2File=C:\PDFOutput\#(%Y-%m)T\#(%d)T\#J_#K_MS.pdf
Color=1

<em>[PDFArchitect9]</em>
Printer=PDF Architect 9
Save2File=C:\PDFOutput\#(%Y-%m)T\#(%d)T\#J_#K_Arch.pdf
Devmode1=c:\temp\pdfa.dev
Color=1

<em>[Samsung]</em>
Active=1
PrintSelf=1
ActionPDF9=Print;<em>PDFArchitect9</em>
ActionPDFMS=Print;<em>MicrosoftPrintToPDF</em></pre>



<p class="has-medium-font-size translation-block">If you now output a test page to the Samsung printer, a subdirectory with the year and month and another with the current day should be created in the directory <em>"C:\PDFOutput"</em> and the PDF files in it.</p>



<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="Automatische PDF Erstellung beim Drucken 23" 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>



<p class="has-medium-font-size translation-block">The <em>"Microsoft Print To PDF"</em> driver offers hardly any setting options, but the <em>"PDF Architect"</em> does. With the help of the <em>"Devmode2File"</em> tool, printer settings can be configured and saved in a file (here <em>"C:\temp\pdfa.dev"</em>). This enables, for example, PDF/A generation, encryption or whatever else the driver offers. The advantage of saved device modes is that it still works identically, even if someone tinkers with the printer settings. Apart from that, there are several places for saved device modes in the registry and you can never be sure which one is used, especially if different users and impersonations are in use, as is the case with a print processor.<br><br>"#K", "#J", "#T" are macros that contain defined values. In some cases, formatting is possible as with "#T". "#K" is the document name with the replacement of characters that are invalid for file names.</p>



<h2 class="wp-block-heading">Watermarks in the PDF with PrintMulti options</h2>



<p class="has-medium-font-size translation-block">A watermark or background image should now be added to the PDF. This can be done using the options built into PrintMulti, such as the output of text, images, rectangles and lines, or with the help of powerful tools such as <a href="https://pdftk.de.softonic.com/" rel="noopener" target="_self">"pdftk"</a>, which can be called using the ExecuteCmd options of PrintMulti.</p>



<p class="has-medium-font-size">PrintMulti outputs multiple texts with the following settings. This also works with the PDFArchitect printer with the corresponding settings.</p>



<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>
Active=1
Type=Text
Text=#D
Attrib=BI
Font=Arial
Foreground=0
Color=0xFF2600
X=$(#w;2;/)
; unit is twips. (1 inch = 1440 Twips; 1 inch = 2.54cm; 1cm=567 Twips)
Y=$(#h;567;-)
Height=5mm
Align=Center
VertAlign=Center

<em>[WatermarkDate]</em>
Type=Text
Text="#(%Y-%m-%d %H:%M)T"
Attrib=BI
Font=Courier New
Foreground=0
Color=0xE0E0E0
X=$(#w;2;/)
Y=$(#h;2;/)
Height=20mm
Align=Center
VertAlign=Center
dx=#w
dy=#h

<em>[WatermarkSideRight]</em>
Active=1
Type=Text
Text="#n/#Z "
Font=Courier New
Foreground=0
Color=0xFF2600
X=$(#w;#t;-)
Y=$(#h;567;-)
Height=5mm
Align=Right
VertAlign=Center

<em>[MicrosoftPrintToPDF]</em>
Printer=Microsoft Print To PDF
Save2File=C:\PDFOutput\#(%Y-%m)T\#(%d)T\#J_#K_MS.pdf
ObjectBottomRight=<em>WatermarkSideRight</em>
ObjectBottomCenter=<em>WatermarkDocumentCenter</em>
ObjectCenter=<em>WatermarkDate</em>
Transparent=1
Color=1

</pre>



<p class="has-medium-font-size">A printed extract from the PrintMulti manual would then look like this:</p>



<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="Automatische PDF Erstellung beim Drucken 24" 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>



<p class="has-medium-font-size">The advantage of the PrintMulti method is that dynamic objects such as the date, the document name, the current page and lots of other information can be easily inserted.</p>



<h2 class="wp-block-heading">Using pdftk to modify the generated PDF</h2>



<p class="has-medium-font-size translation-block">There are command line programmes for editing PDF files. The best known is probably <a href="https://pdftk.de.softonic.com/" rel="noopener" target="_self">"pdftk"</a>. This can also be used to insert background images or watermarks. However, it does not seem to be able to change the current PDF, so you have to work with intermediate files.</p>



<p class="has-medium-font-size translation-block">A PrintMulti configuration with the use of <a href="https://pdftk.de.softonic.com/" rel="noopener" target="_self">"pdftk"</a> could look like this:</p>



<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>
Order=5
Execute=yes
ExecuteAsUser=true
ExecuteFlags=0x08000000
ExecuteTimeout=INF
ExecuteCmd=cmd /c move @"#G" %tempFile%

<em>[ExecutePDFtk]</em>
Order=5
Execute=yes
ExecuteAsUser=true
ExecuteFlags=0x08000000
ExecuteTimeout=INF
ExecuteCmd=c:\tools\pdftk %tempFile% background %background% output @"#G"

<em>[ExecuteDelete]</em>
Order=5
Execute=yes
ExecuteAsUser=true
ExecuteFlags=0x08000000
ExecuteTimeout=INF
ExecuteCmd=cmd /c del %tempFile%

<em>[pdftk]</em>
!tempFile=@"C:\PDFOutput\temp_#J.pdf"
!background=@"c:\temp\background.pdf"

Printer=PDF Architect 9
Save2File=C:\PDFOutput\#(%Y-%m)T\#(%d)T\#J_#K_9_pdftk.pdf
Devmode1=c:\temp\pdfa.dev
Color=1
ExecuteSection1=ExecuteMove
ExecuteSection2=Executepdftk
ExecuteSection3=ExecuteDelete
Transparent=1

<em>[Samsung]</em>
Active=1
PrintSelf=1
ActionPDFTK=Print;pdftk</pre>



<p class="has-medium-font-size translation-block">There are no variables in the strict sense in PrintMulti. The two assignments that begin with "!" are set as environment variables and are retained across section boundaries. As usual in Windows, they can be accessed with <em>"%...%"</em>. <br>The background was quickly created with WinWord and saved as a PDF in <em>"C:\temp\background.pdf"</em>.<br>You can see the result of a test page here:</p>



<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="Automatische PDF Erstellung beim Drucken 25" 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>



<p></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Printing copies with PrintMulti</title>
		<link>https://www.lvbprint.de/en/2023/09/28/printing-copies-2/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Thu, 28 Sep 2023 16:47:21 +0000</pubdate>
				<category><![CDATA[PrintMulti Examples]]></category>
		<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[Carbon Copy]]></category>
		<category><![CDATA[Drucken von Kopien]]></category>
		<category><![CDATA[printing copies]]></category>
		<category><![CDATA[Wasserzeichen]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1317</guid>

					<description><![CDATA[PrintMulti makes it easy to create carbon copies. These can also contain watermarks or come from different input trays.]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction "Printing Copies with PrintMulti"</h2>



<p class="has-medium-font-size">In the days of dot matrix printers, printing copies/copies was easily achieved by using special paper. With the advent of laser printers, this possibility disappeared.</p>



<p class="has-medium-font-size">One of the main uses of PrintMulti is to reprint the job often from a different paper tray with coloured paper or a watermark. </p>



<p class="has-medium-font-size">This option can partially replace the printing of carbon copies and copies. At present it is not possible to file copies from another tray in the same form as carbon copies, as this is a separate print job that is subsequently executed.</p>



<p class="has-medium-font-size">Many printer drivers already offer the possibility to integrate watermarks. <br>PrintMulti can use this option or also contribute self-defined objects such as texts, lines/rectangles or images.</p>



<p class="has-medium-font-size">With PrintMulti it is relatively easy to influence the appearance of copies/copies whether they come from the same printer from the same tray, from a different tray or even from a different printer altogether.</p>



<p class="has-medium-font-size">This article should help to get a currently used printer driver to output copies from another tray with a watermark with the help of PrintMulti. This should then work with almost all applications. </p>



<h2 class="wp-block-heading">Choosing a suitable printer driver</h2>



<p class="has-medium-font-size">Of course, it is easiest if the driver used can also be used for carbon copy printing. For this it is necessary that it spools in EMF format.</p>



<p class="has-medium-font-size">You can find out the spool format with the free SPLViewer. </p>



<p class="has-medium-font-size">To do this, make sure that in the advanced settings the options <em>&#8222;Druckaufträge nach dem Drucken nicht löschen&#8220;</em> und <em>&#8222;Erweiterte Druckfeatures aktiveren&#8220;</em> ausgewählt sind.</p>



<p class="has-medium-font-size">In the examples we use a printer named <em>&#8222;Samsung&#8220;</em>. You must replace this with the name of the printer you are using.</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="618" height="602" src="https://www.lvbprint.de/wp-content/uploads/2023/10/Ssmsung_Keep_Jobs_en.png" alt="Configure &quot;Do not delete print jobs after printing&quot; in the advanced printer settings." class="wp-image-1331" title="Kopien drucken mit PrintMulti 26" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/Ssmsung_Keep_Jobs_en.png 618w, https://www.lvbprint.de/wp-content/uploads/2023/10/Ssmsung_Keep_Jobs_en-300x292.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/Ssmsung_Keep_Jobs_en-12x12.png 12w" sizes="auto, (max-width: 618px) 100vw, 618px" /><figcaption class="wp-element-caption">Advanced settings</figcaption></figure>



<p class="has-medium-font-size">Now print a test page (if you want to save paper, you can also stop the printer).</p>



<p class="has-medium-font-size translation-block">After downloading the SPLViewer from <a href="https://www.lvbprint.de/files/splviewer/SPLView64.zip" target="_self">here</a> and unzipping the zip file, you will receive a single executable file. To access the spool file, you must start SPLViewer as an administrator. It is crucial that something from <em>"NT EMF"</em> appears on the test page (you get the list with the second toolbar button "J" from the left).<br>In this case you can also view the print job graphically.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="824" height="487" src="https://www.lvbprint.de/wp-content/uploads/2023/10/splviewer_ntemf_en.png" alt="Finding out the data type of the print job with SPLViewer" class="wp-image-1332" title="Kopien drucken mit PrintMulti 27" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/splviewer_ntemf_en.png 975w, https://www.lvbprint.de/wp-content/uploads/2023/10/splviewer_ntemf_en-300x119.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/splviewer_ntemf_en-768x304.png 768w, https://www.lvbprint.de/wp-content/uploads/2023/10/splviewer_ntemf_en-18x7.png 18w" sizes="auto, (max-width: 824px) 100vw, 824px" /><figcaption class="wp-element-caption">SPLViewer NT EMF format</figcaption></figure>



<p class="has-medium-font-size translation-block">If instead it says <em>"RAW"</em>, as in the case of test pages printed earlier, check whether the printer driver offers a setting for the spool format.</p>



<p class="has-medium-font-size">Here are two examples from different drivers. However, it is also possible that there is no setting for this.</p>



<div class="wp-block-media-text is-stacked-on-mobile is-vertically-aligned-center"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="617" height="285" src="https://www.lvbprint.de/wp-content/uploads/2023/10/samsung_EMF.png" alt="Configuring the EMF data type for a Samsung driver" class="wp-image-1333 size-full" title="Kopien drucken mit PrintMulti 28" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/samsung_EMF.png 617w, https://www.lvbprint.de/wp-content/uploads/2023/10/samsung_EMF-300x139.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/samsung_EMF-18x8.png 18w" sizes="auto, (max-width: 617px) 100vw, 617px" /></figure><div class="wp-block-media-text__content">
<p class="translation-block">EMF on a <a href="https://www.samsung.com/de/support/category/computing/printer/" rel="noopener" target="_self">Samsung</a> driver</p>
</div></div>



<p></p>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="463" height="542" src="https://www.lvbprint.de/wp-content/uploads/2023/10/ZDesigner_EMF.png" alt="Configure EMF data type for a ZDesigner driver" class="wp-image-1334 size-full" title="Kopien drucken mit PrintMulti 29" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/ZDesigner_EMF.png 463w, https://www.lvbprint.de/wp-content/uploads/2023/10/ZDesigner_EMF-256x300.png 256w, https://www.lvbprint.de/wp-content/uploads/2023/10/ZDesigner_EMF-10x12.png 10w" sizes="auto, (max-width: 463px) 100vw, 463px" /></figure><div class="wp-block-media-text__content">
<p class="translation-block">and with a label printer from <a href="https://www.zebra.com/de/de/products/printers.html" rel="noopener" target="_self">Zebra</a></p>
</div></div>



<p class="has-medium-font-size">If you do not manage to output the job in EMF format, you can still try to find an alternative driver for the printer you are using. </p>



<p class="has-medium-font-size translation-block">To do this, add the printer manually and then select <em>"Windows Update"</em>.<br>The drivers then offered are usually older version 3 drivers that came with Windows (version 4 drivers are current).</p>



<p class="has-medium-font-size">If you do not find what you are looking for here either, you would have to use a virtual printer, but this is not part of this article.</p>



<h2 class="wp-block-heading">Activate PrintMulti</h2>



<p class="has-medium-font-size translation-block">Next, in the advanced printer settings, select <em>"PrintMulti"</em> as the print processor and on the right side <em>"NT EMF"</em>, preferably in the highest version. This setting seems to have no direct influence, but it certainly can't hurt to select EMF here (best to note the old print processor or work on a copy of the printer).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="567" height="481" src="https://www.lvbprint.de/wp-content/uploads/2023/10/AssignPrintMulti_en.png" alt="Assign PrintMulti as print processor" class="wp-image-1343" title="Kopien drucken mit PrintMulti 30" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/AssignPrintMulti_en.png 615w, https://www.lvbprint.de/wp-content/uploads/2023/10/AssignPrintMulti_en-300x231.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/AssignPrintMulti_en-16x12.png 16w" sizes="auto, (max-width: 567px) 100vw, 567px" /><figcaption class="wp-element-caption">Assign PrintMulti as print processor</figcaption></figure>



<p class="has-medium-font-size translation-block">If something other than <em>"winprint"</em> was selected here, you may be missing some setting options such as <em>"several pages per print page"</em> or watermarks. This is the case with Canon drivers, for example.</p>



<p class="has-medium-font-size">If you need these options, you can use the appropriate PrintMulti settings or use a second identical printer for physical printing without PrintMulti. </p>



<p class="has-medium-font-size translation-block">After this change, your printer will not print anything until you have adjusted the <em>"PrintMulti.ini"</em>. This is located in <em>"C:\Program Files\PrintMulti"</em> and must normally be edited as an administrator.</p>



<p class="has-medium-font-size translation-block">Insert the following lines after the <em>"[COMMON]"</em> section and select the name of your printer instead of <em>"Samsung"</em></p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size"><em>[Samsung]</em>
Active=1
PrintSelf=1</pre>



<p class="has-medium-font-size translation-block">Now the printer should work normally again. There should also be log files in the <em>"%ALLUSERSPROFILE%\PrintMulti\Log"</em> directory.</p>



<h2 class="wp-block-heading">Print copies</h2>



<p class="has-medium-font-size">We now simply want to print an additional copy from another tray. To print a copy from the manual tray on the Samsung printer, add a few lines to PrintMulti.ini</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size"><em>[<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">Samsung_Manuell</mark></strong>]</em>
Printer=Samsung
PaperSource1=4

<em>[Samsung]</em>
Active=1
PrintSelf=1
ActionCopy=Print;<strong><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">Samsung_Manuell</mark></em></strong></pre>



<p class="has-medium-font-size">A few remarks on this:</p>



<ul class="wp-block-list">
<li class="has-medium-font-size translation-block">You can add several actions. These always start with <em>"Action"</em> and must differ in the text afterwards. In the print action, the name refers to the name of a section.<br></li>



<li class="has-medium-font-size translation-block">There are several settings for the paper source. With <em>"PaperSource1"</em> you select one for the first and all subsequent pages. <br>You can enter a code or the name of the tray here <br>(<em>"PaperSource1=Manual feed"</em> would also have been possible). <br>You can have this output with the supplied tool <em>"ShowPrinterInformation"</em> (The use of a code is recommended in any case, if the Windows language should change).<br>If a PaperSource setting is found, then all possible trays are also logged in the log file <em>"DbgLog.csv"</em>. <br></li>



<li class="has-medium-font-size translation-block">If the print jobs are preserved, you can also control the selected settings when selecting the job in the print queue (the <em>"!PM"</em> in the document name is automatically appended by PrintMulti to detect a recursion; <em>"Samsung"</em> is a PrintMulti printer after all).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="has-medium-font-size">Here is an excerpt from the output with "ShowPrinterInformation".</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-small-font-size">Bin names and codes: [DC_BINNAMES][DC_BINS]
                   :       7 Auto Select
<strong>                   :       4 Manual Feeder</strong>
                   :       1 Tray 1

</pre>



<p class="has-medium-font-size">And the display of the properties of the second print job</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="657" height="534" src="https://www.lvbprint.de/wp-content/uploads/2023/10/PrintJobManuelFeeder_en.png" alt="Manuell Devmode 1" class="wp-image-1355" title="Kopien drucken mit PrintMulti 31" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/PrintJobManuelFeeder_en.png 637w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintJobManuelFeeder_en-300x248.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintJobManuelFeeder_en-15x12.png 15w" sizes="auto, (max-width: 657px) 100vw, 657px" /></figure>



<h2 class="wp-block-heading">Adding a Watermark with the Printer Driver</h2>



<p class="has-medium-font-size translation-block">Many printer drivers offer the possibility to configure watermarks. In PrintMulti you can use this option by saving printer settings to a file with the supplied tool <em>"Devmode2File"</em> and referring to it when printing. <br>This is also a way to configure output trays. Windows, unlike input trays, does not provide a programmatic interface for output trays. You can of course create different printers with different settings as a workaround, but using saved settings is certainly more convenient.</p>



<p class="has-medium-font-size">In Devmode2File you create a new file, select the printer and configure everything you want. Some settings are overwritten by PrintMulti. These are marked accordingly. In the example, a watermark "Top Secret" is defined and saved in the file "C:\temp\TopSecret.dev".</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="758" height="818" src="https://www.lvbprint.de/wp-content/uploads/2023/10/Devmode2File_en.png" alt="Devmode2File 1" class="wp-image-1379" title="Kopien drucken mit PrintMulti 32" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/Devmode2File_en.png 885w, https://www.lvbprint.de/wp-content/uploads/2023/10/Devmode2File_en-300x229.png 300w, https://www.lvbprint.de/wp-content/uploads/2023/10/Devmode2File_en-768x587.png 768w, https://www.lvbprint.de/wp-content/uploads/2023/10/Devmode2File_en-16x12.png 16w" sizes="auto, (max-width: 758px) 100vw, 758px" /><figcaption class="wp-element-caption">Saving a devicemode</figcaption></figure>



<p class="has-medium-font-size">A line with "Devmode1=" is then inserted into PrintMulti.ini.</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background has-medium-font-size"><em>[Samsung_Manuell]</em>
Printer=Samsung
PaperSource1=4
<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">Devmode1=c:\temp\topsecret.dev</mark></strong></pre>



<p class="has-medium-font-size">You cannot normally see the output in SPLViewer, as the driver provides it later, but you should be able to see the setting in the print job properties.</p>



<h2 class="wp-block-heading">Add watermark with PrintMulti</h2>



<p class="has-medium-font-size translation-block">As described in the <a href="https://www.lvbprint.de/files/printmulti/PrintMulti_2.0_Manual_en.pdf" target="_self">Manual</a> on page 50, you can also add watermarks with flexible content.</p>



<p class="has-medium-font-size translation-block">Here is an example: <br>(text across with date / name of print job censored / current page and number of pages right-aligned)</p>



<pre class="wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background"><strong>[WatermarkDate]</strong>
Type=Text
Text="#(%Y-%m-%d %H:%M)T"
Attrib=BI
Font=Courier New
Foreground=0
Color=0xE0E0E0
X=$(#w;2;/)
Y=$(#h;2;/)
Height=20mm
Align=Center
VertAlign=Center
dx=#w
dy=#h

<strong>[WatermarkDocumentCenter]</strong>
Type=Text
Text=#D
Attrib=BI
Font=Arial
Foreground=0
Color=0xFF2600
X=$(#w;2;/)
; unit is twips. (1 inch = 1440 Twips; 1 inch = 2.54cm; 1cm=567 Twips)
Y=$(#h;567;-)
Height=5mm
Align=Center
VertAlign=Center

<strong>[WatermarkSideRight]</strong>
Type=Text
Text="#n/#Z "
Font=Courier New
Foreground=0
Color=0xFF2600
X=$(#w;#t;-)
Y=$(#h;567;-)
Height=5mm
Align=Right
VertAlign=Center

<strong>[Samsung_Manuell]</strong>
Printer=Samsung
PaperSource1=4
ObjectSecret=WatermarkDate
ObjectDocumentCentere=WatermarkDocumentCenter
ObjectSideRight=WatermarkSideRight
Transparent=1
</pre>



<p class="has-medium-font-size">The lower part of the expression then looks like this in the SPLViewer, for example</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="715" height="1024" src="https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-715x1024.jpg" alt="Watermarks and texts with PrintMulti" class="wp-image-1404" style="width:600px" title="Kopien drucken mit PrintMulti 33" srcset="https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-715x1024.jpg 715w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-210x300.jpg 210w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-768x1099.jpg 768w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-1073x1536.jpg 1073w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-1431x2048.jpg 1431w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-8x12.jpg 8w, https://www.lvbprint.de/wp-content/uploads/2023/10/PrintWatermark-3-scaled.jpg 1788w" sizes="auto, (max-width: 715px) 100vw, 715px" /><figcaption class="wp-element-caption">Watermarks and texts with PrintMulti</figcaption></figure>



<h2 class="wp-block-heading">Other useful settings</h2>



<p class="has-medium-font-size">The following problems have also already been solved, which have to do with copies:</p>



<ul class="wp-block-list">
<li class="has-medium-font-size translation-block"><em>Always print the copy in black and white</em><br><code>Color=0</code><br>The printout is calculated per page and can then also take on different values per page (e.g. "Color=$(#n;1;==)" first page coloured; the rest B/W<br></li>



<li class="has-medium-font-size translation-block"><em>Always print copy in duplex</em> <br><code>Duplex=V</code><br></li>



<li class="has-medium-font-size translation-block"><em>Restrict page range</em> (e.g. omit last page with small print)<br><code>LastPage=$(#Z;1;-)</code><br>#Z is the total number of pages<br></li>
</ul>



<p></p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Licence change for PrintMulti</title>
		<link>https://www.lvbprint.de/en/2022/10/09/license-change-for-printmulti/</link>
		
		<dc:creator><![CDATA[dieter]]></dc:creator>
		<pubdate>Sun, 09 Oct 2022 15:03:37 +0000</pubdate>
				<category><![CDATA[PrintMulti]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[license change]]></category>
		<category><![CDATA[Lizenzänderung]]></category>
		<guid ispermalink="false">https://www.lvbprint.de/?p=1111</guid>

					<description><![CDATA[We have decided not to use client licenses in the future. Thus, the advanced functions (raw printing; embedding images, text, rectangles; save as graphic;<div class="btn btn-light btn-arrow"><a href="https://www.lvbprint.de/en/2022/10/09/license-change-for-printmulti/" rel="nofollow" title="Read More">Read More</a></div>]]></description>
										<content:encoded><![CDATA[<p>We have decided not to use client licences in the future. </p>



<p>Thus, the advanced functions (raw printing; embedding images, texts, rectangles; save as graphic; background forms, separator pages) are also free for all users, regardless of whether the user is logged on to a Windows domain.</p>



<p>On server operating systems you still need a server licence</p>



<p>The changes are available as of version 2.0.0.5.</p>



<p></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>