/ViewerPreferences /PrintScaling del documento, cioè se l'autore del PDF vuole che la finestra di stampa del visualizzatore usi per impostazione predefinita la scalatura fit-to-page definita dall'applicazione oppure stampi le pagine alla loro dimensione originaleproperty PrintScaling: Boolean; // read only
La voce /PrintScaling di /ViewerPreferences prende uno dei
due valori nominali previsti da PDF 32000-1 § 12.2, Tabella 150:
/AppDefault — lascia che il viewer applichi il suo comportamento di scala abituale
(di solito "Adatta all'area stampabile"). PDFium Delphi Component lo mappa a
True/None — il documento è stato impaginato alla dimensione fisica voluta
e va inviato alla stampante 1:1, senza riduzioni né adattamenti. PDFium Delphi Component lo mappa
a FalseUsa la proprietà quando colleghi una pipeline di stampa PDF così l'utente non deve
immaginare cosa si aspetta il documento. Moduli, fatture a formato fisso, etichette con codici a barre
e bozze di prestampa tipicamente impostano /None così i codici a barre / le misure
escono esattamente della dimensione giusta; opuscoli e documenti da rilegare tipicamente lasciano il
predefinito così si adattano a qualsiasi formato carta
È solo un hint — PDFium non lo impone durante la rasterizzazione. Il tuo
layer di stampa (la Printer VCL, il GDI StartDoc, o qualsiasi altro) è
ciò che effettivamente ridimensiona (o si rifiuta di ridimensionare) la bitmap renderizzata o lo stream PostScript
Abbbinalo a PrintPaperHandling,
PrintCopies e
PrintPageRanges quando popoli un dialogo di stampa
/ViewerPreferences PDFium restituisce il predefinito della specifica True (AppDefault)ViewerPreference['PrintScaling'], che restituisce il token letterale/NonePrintScaling = False, lascia il pulsante di opzione predefinito 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;