· data2print ·

Die Lösung zur Aufbereitung, Komposition und Personalisierung
komplexer Drucksachen

Startseite · Einleitung · Eingabe/Verarbeitung/Ausgabe · Beispiele

Umordnen bestehender PDF-Dokumente
PDF-Dokument in Einzelseiten
PDF-Dokument in Vorderseiten/Rückseiten aufteilen
Bestimmte PDF-Seiten entnehmen
Bestimmte PDF-Vorder-/Rückseiten entnehmen

Komposition mehrerer PDF-Dokumente
PDF-Dokumente zusammenfügen
PDF-Dokument skalieren
PDF-Dokument auf Druckbogen duplizieren

Ändern bestehender PDF-Dokumente
Mehrseitigen Serienbrief erzeugen
PDF-Dokumente umsortieren

 

Beispiel – PDF-Dokument skalieren

Ein Din A4-PDF-Dokument kann in verschiedene Formate skaliert werden. Beim Buchdruck ist das sinnvoll, wenn z.B. ein A4 Buch auf das B5 Format verkleinert werden soll.

<?xml version="1.0" encoding="utf-8"?>
<job>
  <dialog>
    <topic>
      <prompt>PDF-Eingabedatei</prompt>
      <type>file</type>
      <filter>'.pdf'</filter>
      <variable>inFile</variable>
    </topic>
    <topic>
      <prompt>Zielbogen</prompt>
      <choices>
        <choice><value>'A4'</value></choice>
        <choice><value>'A5'</value></choice>
        <choice><value>'B5'</value></choice>
        <choice><value>'D6'</value></choice>
      </choices>
      <variable>inSize</variable>
    </topic>
  </dialog>

  <moulds>
    <mould name="paper">
      <width>variable('papersize.'+{inSize}+'.width')</width>
      <height>variable('papersize.'+{inSize}+'.height')</height>
    </mould>
  </moulds>

  <eval variable="outFile" expression="filepath({inFile})+'_'+{inSize}+'.pdf'" />

  <instance>
    <iterate file="{inFile}" variable="pdfin">
      <append>
        <template mould="paper"/>
        <compose file="'Skalieren.compose.xml'"/>
        <output file="{outFile}"/>
        <eval variable="pageNr" expression="{pdfin.pagenr}"/>
      </append>
    </iterate>
  </instance>
</job>
 


Auswahlfenster öffnen

Beschreibung Feld im Auswahlfenster

Nur PDF-Dateien zulassen
Gewählten Dateinamen merken


Zielbogengröße abfragen

Die Papiergrößen werden in eine Auswahlliste geschrieben




Zielbogengröße merken




Leeres Blatt definieren.
Die Einstellung der Papiergrößen erfolgt bequem durch den
Zugriff auf eingebaute Werte für alle gängigen DIN-Größen.



Ausgabedatei benennen


Durchlaufen der gewählten Datei
Seite Anfügen an die Ausgabedatei
Definierten Druckbereich nehmen
Wo etwas positioniert sein soll
Ausgabedatei angeben
Übergabe aktuelle Seitennummer

Ende der Programmschleife

Die passende Compose-Datei „Skalieren.compose.xml“, beschreibt nur noch die Platzierung der PDF-Seite in den angegebenen Bereich. An dieser Stelle könnten auch Passermarken oder Beschriftungen angegeben werden.

<?xml version="1.0" encoding="utf-8"?>
<compose>

    <field type="pdf" left="0mm" right="0mm"
                      top="0mm" bottom="0mm">
      <file>{inFile}</file>
      <page>{pageNr}</page>
      <scale>fit</scale>
      <halign>center</halign>
      <valign>middle</valign>
    </field>    

</compose>
 



Feld ist 100% der Seite (also Ränder sind 0mm)

PDF-Eingabedatei
Nur diese aktuelle Seite nehmen
Skalierung erlauben
Mittig ausrichten, falls Originalgröße nicht im gleichen Seitenverhältnis ist