property Producer: WString; // read only
Producer returns the Info dictionary’s /Producer entry
(PDF 1.7 spec section 14.3.3). The string identifies the software component that
wrote the PDF bytes — typically a PDF rendering / conversion engine such
as “Adobe PDF Library 17.0”, “Microsoft: Print To PDF”,
“Skia/PDF m126”, “GPL Ghostscript 10.02”, or “iText
8.0.2”. Compare with Creator, which describes the originating
authoring application (Word, InDesign, …).
The value is decoded UTF-16 and may be empty when the Info dictionary is missing or
when Active is False. Both /Producer and
/Creator are optional in the spec but virtually every modern PDF declares
/Producer because PDF generators write it automatically.
Producer is a strong signal for routing decisions: scanned-then-OCR’d PDFs
typically advertise a TWAIN scanner driver, screen-captured PDFs show
“Microsoft: Print To PDF”, while authoring-tool exports name a known
conversion library. Newer PDFs may also mirror this value in XMP metadata as
pdf:Producer; the two should agree but historically drift apart after
incremental updates.
FPDF_SetMetaText PDFium API.PdfVersion for forensic identification of malformed
or suspicious PDFs that report mismatched producer / spec versions.
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');