/ViewerPreferences /PrintScaling
del documento — si el autor del PDF quiere que el diálogo de impresión del visor se ajuste
por defecto al escalado de ajuste a página definido por la aplicación o a imprimir las páginas a su tamaño de autorproperty PrintScaling: Boolean;// solo lectura
La entrada /PrintScaling de /ViewerPreferences toma uno de
dos valores con nombre según PDF 32000-1 § 12.2 Tabla 150:
/AppDefault — deja que el visor aplique su comportamiento de escalado habitual
(comúnmente "Ajustar a área imprimible"). PDFium Delphi Component lo asigna a
True./None — el documento se dispuso al tamaño físico previsto
y debería enviarse a la impresora 1:1, sin encoger ni ajustar. PDFium Delphi Component lo asigna
a False.Use la propiedad al cablear una canalización de impresión PDF para que el usuario no tenga que
adivinar lo que espera el documento. Los formularios, las facturas de formato fijo, las etiquetas con
códigos de barras y las pruebas de preimpresión suelen establecer /None para que los
códigos de barras / medidas salgan exactamente al tamaño correcto; los folletos y los documentos
encuadernados suelen dejar el valor predeterminado para que se ajusten a cualquier tamaño de papel.
Es solo una pista — PDFium no la aplica durante la rasterización. Su capa de impresión
(Printer de la VCL, StartDoc de GDI o cualquier otra) es lo que
realmente escala (o se niega a escalar) el bitmap renderizado o el flujo PostScript.
Combínela con PrintPaperHandling,
PrintCopies y
PrintPageRanges al rellenar un diálogo de impresión.
/ViewerPreferences, PDFium devuelve el valor predeterminado de la especificación True (AppDefault).ViewerPreference['PrintScaling'] en su lugar, que devuelve el token literal./None.PrintScaling = False, dejar el botón de radio predeterminado cuando es True.
// Aplicar el modo de escala preferido del documento a la configuración de la impresora
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;