PDF-Dokumente
PDFMerge#
Fügt mehrere PDF-Dateien zu einer einzigen zusammen.
<PDFMerge Sources="{@myFiles}" Destination="C:\Ausgabe\Merged.pdf" Variable="{@Result}" />Attribute:
- Sources: DataTable-Variable mit Dateipfaden (Spalte
ValueoderFullName, z.B. ausFileListDirectory) ? oder semikolon-getrennte Pfade direkt als String. - Destination: Zielpfad der zusammengeführten PDF-Datei. Das Verzeichnis wird automatisch erstellt wenn es nicht existiert.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Alle PDFs eines Monats zu einem Archiv zusammenführen -->
<Set Variable="{@Monatspfad}" Value="C:\Rechnungen\{@SystemYear}\{@SystemMonth}\" />
<FileListDirectory Source="{@Monatspfad}" Data="{@myFiles}" OnlyFiles="true" />
<PDFMerge Sources="{@myFiles}"
Destination="C:\Archiv\Rechnungen_{@SystemYear}_{@SystemMonth}.pdf" />
PDFSplit#
Teilt eine PDF-Datei in mehrere kleinere Dateien auf.
<PDFSplit Source="C:\Dok.pdf" DestinationFolder="C:\Seiten\" PagesPerFile="1" Variable="{@AnzahlDateien}" />Attribute:
- Source: Pfad zur aufzuteilenden PDF-Datei.
- DestinationFolder: Zielverzeichnis für die erzeugten Dateien. Dateinamen:
Dateiname_001.pdf,Dateiname_002.pdf, ... - PagesPerFile: (Optional) Anzahl Seiten pro Ausgabedatei. Standard:
1. - Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Anzahl der erzeugten Dateien als Integer.
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Sammellieferschein in Einzelseiten aufteilen -->
<PDFSplit Source="C:\Lieferscheine\Sammel_{@SystemDate}.pdf"
DestinationFolder="C:\Lieferscheine\Einzeln\"
PagesPerFile="1"
Variable="{@AnzahlSeiten}" />
<Print Text="Aufgeteilt in {@AnzahlSeiten} Einzeldateien." />
PDFExtractPages#
Extrahiert bestimmte Seiten aus einer PDF-Datei in eine neue Datei.
<PDFExtractPages Source="C:\Dok.pdf" Destination="C:\Auszug.pdf" Pages="1,3,5-8" Variable="{@Result}" />Attribute:
- Source: Pfad zur Quell-PDF.
- Destination: Pfad der neuen PDF mit den extrahierten Seiten.
- Pages: Kommagetrennte Seitenzahlen und Bereiche (1-basiert). Beispiele:
"1","1,3,5","2-5","1,3,7-10". - Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Nur die ersten 2 Seiten eines Angebots als Kundenvorschau extrahieren -->
<PDFExtractPages Source="C:\Angebote\Angebot_{@ID}.pdf"
Destination="C:\Vorschau\Angebot_{@ID}_Vorschau.pdf"
Pages="1-2" />
PDFGetPageCount#
Gibt die Seitenanzahl einer PDF-Datei zurück.
<PDFGetPageCount Source="C:\Dok.pdf" Variable="{@Seiten}" />Attribute:
- Source: Pfad zur PDF-Datei.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: Speichert die Seitenanzahl als Integer.
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Seitenanzahl aller PDFs in einem Ordner in DB erfassen -->
<FileListDirectory Source="C:\Dokumente\" Data="{@myFiles}" OnlyFiles="true" />
<ForEach Data="{@myFiles}">
<StringEndsWith Value="{@Data:Value}" Search=".pdf">
<PDFGetPageCount Source="{@Data:FullName}" Variable="{@Seiten}" />
<SQLExecute Query="UPDATE Dokumente SET Seiten={@Seiten} WHERE Pfad='{@Data:FullName}'"
Connection="{@myConn}" />
</StringEndsWith>
</ForEach>
PDFAddWatermark#
Fügt ein Wasserzeichen auf alle Seiten einer PDF ein ? entweder als Text oder als Bild (Logo, Stempel).
<PDFAddWatermark Source="" Destination="" Text="VERTRAULICH"
Image="" ImageWidth="0" ImageHeight="0"
Opacity="0.3" FontSize="60" Rotation="45" Variable="{@Result}" />Attribute:
- Source: Pfad zur Quell-PDF.
- Destination: Pfad der Ausgabe-PDF mit Wasserzeichen.
- Text: Wasserzeichen-Text (z.B.
VERTRAULICH,ENTWURF). Wird ignoriert wennImagegesetzt ist. - Image: (Optional) Pfad zu einer PNG- oder JPG-Datei die als Bildwasserzeichen verwendet wird. Wenn gesetzt hat
ImageVorrang vorText. - ImageWidth: (Optional) Breite des Bildwasserzeichens in Punkt.
0= 50% der Seitenbreite, proportional skaliert. - ImageHeight: (Optional) Höhe des Bildwasserzeichens in Punkt.
0= proportional zur Breite berechnet. - Opacity: (Optional) Transparenz von
0.0(unsichtbar) bis1.0(voll deckend). Standard:0.3. - FontSize: (Optional) Schriftgröße beim Textwasserzeichen. Standard:
60. - Rotation: (Optional) Drehwinkel in Grad für Text und Bild. Standard:
45.0für aufrechtes Bild. - Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel Text-Wasserzeichen:
<!-- Entwürfe kennzeichnen -->
<PDFAddWatermark Source="C:\Angebote\Angebot_{@ID}.pdf"
Destination="C:\Angebote\Angebot_{@ID}.pdf"
Text="ENTWURF"
Opacity="0.2"
FontSize="80" />Beispiel Bild-Wasserzeichen (Firmenlogo, aufrecht zentriert):
<!-- Firmenlogo als halbtransparenten Stempel einbetten -->
<PDFAddWatermark Source="C:\Dok.pdf"
Destination="C:\Dok_Logo.pdf"
Image="C:\Assets\Logo_Wasserzeichen.png"
Opacity="0.15"
Rotation="0"
ImageWidth="200" />
PDFProtect#
Schützt eine PDF-Datei mit einem Passwort und setzt Berechtigungen.
<PDFProtect Source="C:\Dok.pdf" Destination="C:\Dok_Geschuetzt.pdf"
UserPassword="oeffnen123" OwnerPassword="admin456" Variable="{@Result}" />Attribute:
- Source: Pfad zur Quell-PDF.
- Destination: Pfad der passwortgeschützten Ausgabe-PDF.
- UserPassword: (Optional) Passwort zum Öffnen des Dokuments.
- OwnerPassword: (Optional) Passwort für Bearbeitungsrechte.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Hinweis: Drucken ist standardmäßig erlaubt, Bearbeiten und Kopieren des Inhalts sind gesperrt.
Beispiel:
<!-- Lohnabrechnung mit persönlichem Passwort schützen und versenden -->
<SQLReadData Data="{@Mitarbeiter}"
Query="SELECT ID, Name, Email, PdfPasswort FROM Mitarbeiter WHERE Aktiv=1"
Connection="{@myConn}" />
<ForEach Data="{@Mitarbeiter}">
<Set Variable="{@Quelle}" Value="C:\Abrechnungen\Abrechnung_{@Data:ID}.pdf" />
<Set Variable="{@Ziel}" Value="C:\Temp\Abrechnung_{@Data:ID}_geschuetzt.pdf" />
<PDFProtect Source="{@Quelle}" Destination="{@Ziel}"
UserPassword="{@Data:PdfPasswort}">
<SendMail To="{@Data:Email}"
Subject="Ihre Lohnabrechnung"
Body="Anbei Ihre Lohnabrechnung. Passwort: Ihr Geburtsdatum (TTMMJJJJ)."
Attachment="{@Ziel}" />
<FileDelete File="{@Ziel}" />
</PDFProtect>
</ForEach>
PDFRotatePages#
Rotiert bestimmte oder alle Seiten einer PDF-Datei.
<PDFRotatePages Source="C:\Dok.pdf" Destination="C:\Dok_Rotiert.pdf"
Pages="all" Degrees="90" Variable="{@Result}" />Attribute:
- Source: Pfad zur Quell-PDF.
- Destination: Pfad der Ausgabe-PDF mit rotierten Seiten.
- Pages: Kommagetrennte Seitenzahlen und Bereiche (1-basiert) oder
allfür alle Seiten. - Degrees: Rotationswinkel. Erlaubte Werte:
90,180,270. - Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Gescannte Seiten die im Querformat eingingen korrigieren -->
<PDFRotatePages Source="C:\Scan\Eingang.pdf"
Destination="C:\Scan\Eingang_korrigiert.pdf"
Pages="2,4,6"
Degrees="270" />
PDFGetMetadata#
Liest die Metadaten (Titel, Autor, Thema, Ersteller) einer PDF-Datei aus.
<PDFGetMetadata Source="C:\Dok.pdf"
Title="{@PdfTitel}" Author="{@PdfAutor}"
Subject="{@PdfThema}" Creator="{@PdfErsteller}"
Variable="{@Result}" />Attribute:
- Source: Pfad zur PDF-Datei.
- Title: (Optional) Variable die den Titel der PDF speichert.
- Author: (Optional) Variable die den Autor speichert.
- Subject: (Optional) Variable die das Thema/Betreff speichert.
- Creator: (Optional) Variable die die erstellende Anwendung speichert.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Metadaten aller PDFs in einem Ordner in DB indexieren -->
<FileListDirectory Source="C:\Archiv\" Data="{@myFiles}" OnlyFiles="true" />
<ForEach Data="{@myFiles}">
<StringEndsWith Value="{@Data:Value}" Search=".pdf">
<PDFGetMetadata Source="{@Data:FullName}"
Title="{@Titel}" Author="{@Autor}" Subject="{@Thema}" />
<DataParameterClear DataParameter="{@myParam}" />
<DataParameterAddString Name="Pfad" Value="{@Data:FullName}" DataParameter="{@myParam}" />
<DataParameterAddString Name="Titel" Value="{@Titel}" DataParameter="{@myParam}" />
<DataParameterAddString Name="Autor" Value="{@Autor}" DataParameter="{@myParam}" />
<DataParameterAddString Name="Thema" Value="{@Thema}" DataParameter="{@myParam}" />
<DataParameterInsert DataParameter="{@myParam}" Connection="{@myConn}" Table="DokumentIndex" />
</StringEndsWith>
</ForEach>
PDFSetMetadata#
Schreibt Metadaten (Titel, Autor, Thema) in eine PDF-Datei.
<PDFSetMetadata Source="C:\Dok.pdf" Destination="C:\Dok_Meta.pdf"
Title="Rechnung 2026-001" Author="Max Mustermann" Subject="Rechnung"
Variable="{@Result}" />Attribute:
- Source: Pfad zur Quell-PDF.
- Destination: Pfad der Ausgabe-PDF mit den neuen Metadaten.
- Title: (Optional) Neuer Titel des Dokuments.
- Author: (Optional) Neuer Autor des Dokuments.
- Subject: (Optional) Neues Thema/Betreff des Dokuments.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional)
truebei Erfolg. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Metadaten nach Report-Export automatisch setzen -->
<SQLLookup Table="Kunden" Field="Firmenname" Where="ID={@KundenID}"
Connection="{@myConn}" Variable="{@Firma}" />
<ReportExportPDF Report="C:\Reports\Rechnung.repx"
Export="C:\Temp\Rechnung_{@RechnungID}.pdf"
Filter="[RechnungID]=={@RechnungID}" />
<PDFSetMetadata Source="C:\Temp\Rechnung_{@RechnungID}.pdf"
Destination="C:\Rechnungen\Rechnung_{@RechnungID}.pdf"
Title="Rechnung {@RechnungID}"
Author="{@Firma}"
Subject="Rechnung">
<FileDelete File="C:\Temp\Rechnung_{@RechnungID}.pdf" />
</PDFSetMetadata>