property Producer: WString; // read only
Producer devolve a entrada /Producer do dicionário Info
(secção 14.3.3 da especificação PDF 1.7). A cadeia identifica o componente de software que
escreveu os bytes do PDF — tipicamente um motor de renderização / conversão PDF
tal como “Adobe PDF Library 17.0”, “Microsoft: Print To PDF”,
“Skia/PDF m126”, “GPL Ghostscript 10.02” ou “iText
8.0.2”. Compare com Creator, que descreve a aplicação de autoria
original (Word, InDesign, …)
O valor é descodificado em UTF-16 e pode estar vazio quando o dicionário Info falta ou
quando Active é False. Tanto /Producer como
/Creator são opcionais na especificação, mas praticamente todos os PDF modernos declaram
/Producer porque os geradores de PDF o escrevem automaticamente
Producer é um forte sinal para decisões de encaminhamento: PDFs digitalizados e depois processados por OCR
tipicamente anunciam um controlador de scanner TWAIN, PDFs capturados do ecrã mostram
“Microsoft: Print To PDF”, enquanto as exportações de ferramentas de autoria nomeiam uma biblioteca de conversão
conhecida. PDFs mais recentes também podem espelhar este valor nos metadados XMP como
pdf:Producer; ambos devem concordar, mas historicamente divergem após
atualizações incrementais
FPDF_SetMetaTextPdfVersion para identificação forense de PDFs mal formados
ou suspeitos que reportam versões de produtor / especificação incompatíveis
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');