/ViewerPreferences /PrintScaling
do documento — se o autor do PDF quer que o diálogo de impressão do visualizador use por padrão
o ajuste de página definido pela aplicação ou imprima as páginas no tamanho em que foram criadasproperty PrintScaling: Boolean; // somente leitura
A entrada /PrintScaling de /ViewerPreferences assume um de
dois valores nomeados conforme PDF 32000-1 § 12.2 Table 150:
/AppDefault — deixa o visualizador aplicar seu comportamento usual de dimensionamento
(comumente "Ajustar à área imprimível"). O PDFium Delphi Component mapeia isto para
True/None — o documento foi diagramado no tamanho físico pretendido
e deve ser enviado à impressora em 1:1, sem redução nem ajuste. O PDFium Delphi Component mapeia
isto para FalseUse a propriedade ao montar um pipeline de impressão de PDF para que o usuário não precise adivinhar
o que o documento espera. Formulários, faturas de formato fixo, etiquetas com códigos de barras
e provas de pré-impressão tipicamente definem /None para que os códigos de barras / medidas
saiam exatamente no tamanho certo; folhetos e documentos encadernados tipicamente deixam o
padrão, para se ajustarem a qualquer tamanho de papel
Isto é apenas uma dica — o PDFium não a impõe durante a rasterização. Sua
camada de impressão (Printer da VCL, StartDoc do GDI ou qualquer outra) é
quem realmente dimensiona (ou se recusa a dimensionar) o bitmap renderizado ou o fluxo
PostScript. Combine-a com PrintPaperHandling,
PrintCopies e
PrintPageRanges ao preencher um diálogo de impressão
/ViewerPreferences, o PDFium retorna o padrão da especificação True (AppDefault)ViewerPreference['PrintScaling'], que retorna o token literal/NonePrintScaling = False e deixe o botão de opção padrão quando True
// Apply the document's preferred scaling mode to the printer setup.
begin
if Pdf1.PrintScaling then
begin
radioFit.Checked := True;
Memo1.Lines.Add('PDF prefers app-default (fit to page) scaling');
end
else
begin
radioActualSize.Checked := True;
Memo1.Lines.Add('PDF requests actual-size print (no scaling)');
end;
end;