| 
   Rearrange existing PDF documentsPDF document in individual pages
 Split PDF document into front pages/back pages
 Extract specific PDF pages
 Extract specific PDF front/back pages
 
 
   Composition of multiple PDF documentsCombine PDF documents
 Scale PDF document
 Duplicate PDF document on print sheet
 
 
   Change existing PDF documentsCreate multi-page mail merge
 Resort PDF documents
 
  
 Example – Create a multi-page form letterA mail merge from addresses in a CSV file is extremely easy to create. The first page of an existing document is expanded to include address data, the remaining pages are added without changes. The generated PDF file contains all personalized documents.
     data2print does not simply copy the source document - the unpersonalized document is only copied once into the personalized target file and is only referenced at the following addresses. This keeps the target file small and print RIP time minimal.
     
    
      | <?xml version="1.0" encoding="utf-8"?>
<job>
  <dialog>
    <topic>
      <prompt>PDF-Inputfile</prompt>
      <type>file</type>
      <filter>'.pdf'</filter>
      <variable>inFile</variable>
    </topic>
    <topic>
      <prompt>Adressdatei</prompt>
      <type>file</type>
      <filter>'.csv'</filter>
      <variable>csvFile</variable>
    </topic>
  </dialog>
  <eval variable="outFile" expression="filepath({inFile}+'adressen.pdf'" />
  <instance>
    <iterate file="{csvFile}" variable="adr">
      <iterate file="{inFile}" variable="pdfin">
        <append>
          <template file="{inFile}"  pagenr="{pdfin.pagenr}"/>
          <compose condition="{pdfin.pagenr}=1" file="addressfield.compose.xml"/>
          <output file="{outFile}"/>
        </append>         
      </iterate>
    </iterate>
  </instance>
</job> |  | 
Open selection window
Description field in the selection window
Allow a PDF file
Remember selected file name
Allow a CSV address file
Remember selected file name
Add “_adressen.pdf” to the output file
Going through the address lines
Cycle through the pages of the document
Append to the specified output file
Attach current page only
Only insert the address in position on page 1
Write to the personalized destination file
End of document page loop
End of address loop
 |  The address field is described separately in the file "addressfield.compose.xml", but can also be located in a form field within the PDF document to be personalized.
     
    
      | <?xml version="1.0" encoding="utf-8"?>
<compose>
  <field type="document" top="6cm" left="3cm"
                         height="3.5cm" weight="6cm">
    <halign>left</halign>
    <valign>top</valign>
    <text fontface="arial" 
          fontsize="10pt"
          fontcolor="black"
          trim="words,lines"
          ignore="empty">
      <p>{adr.Firma}</p>
      <p>{adr.Anrede} {adr.Titel} {adr.Vorn} {adr.Nachn}</p>
      <p>{adr.Straße} {adr.Hausnummer}</p>
      <p>{adr.PLZ} {adr.Ort}</p>
    </text>
  </field>
</compose> |  | 
Location of the address
Double spaces are deleted
Empty lines are deleted
The data fields {adr.xxxxx} receive the name from the CSV file
 |  |