property Producer: WString; // read only
Producer liefert den /Producer-Eintrag des Info-Dictionarys
(PDF 1.7 spec section 14.3.3). Die Zeichenkette identifiziert die Softwarekomponente, die
die PDF-Bytes geschrieben hat — typischerweise eine PDF-Rendering-/Konvertierungs-Engine wie
“Adobe PDF Library 17.0”, “Microsoft: Print To PDF”,
“Skia/PDF m126”, “GPL Ghostscript 10.02” oder “iText
8.0.2”. Abzugrenzen von Creator, das die ursprüngliche
Autoren-Anwendung beschreibt (Word, InDesign, …)
Der Wert ist als UTF-16 dekodiert und darf leer sein, wenn das Info-Dictionary fehlt oder
wenn Active False ist. Sowohl /Producer als auch
/Creator sind in der Spezifikation optional, aber praktisch jedes moderne PDF deklariert
/Producer, weil PDF-Generatoren es automatisch schreiben
Producer ist ein starkes Signal für Routing-Entscheidungen: gescannte und per OCR nachbearbeitete PDFs
kündigen sich typischerweise über einen TWAIN-Scannertreiber an, Screenshots als PDF zeigen
“Microsoft: Print To PDF”, während Autoren-Werkzeug-Exporte eine bekannte
Konvertierungsbibliothek nennen. Neuere PDFs spiegeln diesen Wert zusätzlich in XMP-Metadaten als
pdf:Producer; beide sollten übereinstimmen, driften historisch aber nach
inkrementellen Updates auseinander
FPDF_SetMetaText-PDFium-APIPdfVersion kombinieren, um fehlerhafte
oder verdächtige PDFs forensisch zu identifizieren, die widersprüchliche Producer-/Spezifikationsversionen melden
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');