property Producer: WString; // solo lectura
Producer devuelve la entrada /Producer del diccionario Info
(sección 14.3.3 de la especificación PDF 1.7). La cadena identifica el componente de software que
escribió los bytes PDF — normalmente un motor de renderizado / conversión PDF como
“Adobe PDF Library 17.0”, “Microsoft: Print To PDF”,
“Skia/PDF m126”, “GPL Ghostscript 10.02” o “iText
8.0.2”. Compáralo con Creator, que describe la aplicación de
autoría de origen (Word, InDesign, …)
El valor se decodifica como UTF-16 y puede estar vacío cuando falta el diccionario Info o
cuando Active es False. Tanto /Producer como
/Creator son opcionales en la especificación, pero prácticamente todo PDF moderno declara
/Producer porque los generadores PDF lo escriben automáticamente
Producer es una señal fuerte para decisiones de enrutado: los PDF escaneados y luego OCR
suelen anunciar un controlador de escáner TWAIN, los PDF capturados de pantalla muestran
“Microsoft: Print To PDF”, mientras que las exportaciones de herramientas de autoría nombran una
biblioteca de conversión conocida. Los PDF más nuevos también pueden reflejar este valor en los metadatos XMP
como pdf:Producer; ambos deberían coincidir, pero históricamente se separan tras
actualizaciones incrementales
FPDF_SetMetaTextPdfVersion para identificar de forma forense PDF mal formados o
sospechosos que informan de versiones Producer / spec no coincidentes
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');