property Producer: WString; // read only
Producer renvoie l'entrée /Producer du dictionnaire Info (section 14.3.3 de la spécification PDF 1.7). La chaîne identifie le composant logiciel qui a écrit les octets PDF — typiquement un moteur de rendu ou de conversion PDF tel que “Adobe PDF Library 17.0”, “Microsoft: Print To PDF”, “Skia/PDF m126”, “GPL Ghostscript 10.02” ou “iText 8.0.2”. Comparez avec Creator, qui décrit l'application de création d'origine (Word, InDesign, …)
La valeur est décodée en UTF-16 et peut être vide lorsque le dictionnaire Info est absent ou lorsque Active est False. /Producer et /Creator sont tous deux facultatifs dans la spécification, mais pratiquement chaque PDF moderne déclare /Producer parce que les générateurs de PDF l'écrivent automatiquement
Producer est un signal fort pour les décisions d'acheminement : les PDF numérisés puis OCRisés annoncent généralement un pilote de scanner TWAIN, les PDF capturés à l'écran affichent “Microsoft: Print To PDF”, tandis que les exports d'outils de création nomment une bibliothèque de conversion connue. Les PDF plus récents peuvent aussi refléter cette valeur dans les métadonnées XMP sous la forme pdf:Producer ; les deux devraient coïncider, mais ils divergent historiquement après des mises à jour incrémentielles
FPDF_SetMetaTextPdfVersion pour l’identification forensique de PDF mal formés ou suspects qui rapportent des versions de producteur / spécification discordantes
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');