/ViewerPreferences /PrintScaling des
Dokuments — ob der Autor des PDFs möchte, dass der Druckdialog des Viewers standardmäßig
die anwendungsdefinierte Anpassung an die Seite verwendet oder Seiten in ihrer verfassten Größe
druckt.property PrintScaling: Boolean; // read only
Der /PrintScaling-Eintrag von /ViewerPreferences nimmt einen von
zwei benannten Werten an, laut PDF 32000-1 § 12.2 Table 150:
/AppDefault — der Viewer wendet sein übliches Skalierungsverhalten an
(üblicherweise "An druckbaren Bereich anpassen"). PDFium Delphi Component mappt das auf
True/None — das Dokument wurde in der beabsichtigten physischen Größe angelegt
und soll 1:1 an den Drucker gehen, ohne Schrumpfen oder Anpassen. PDFium Delphi Component mappt
das auf FalseDie Eigenschaft beim Verdrahten einer PDF-Druck-Pipeline verwenden, damit der Nutzer nicht rätseln
muss, was das Dokument erwartet. Formulare, formatfeste Rechnungen, Etiketten mit Barcodes
und Andrucke setzen typischerweise /None, damit Barcodes / Maße
exakt in der richtigen Größe herauskommen; Broschüren und gebundene Dokumente lassen typischerweise den
Standard stehen, damit sie auf jedes Papierformat passen
Das ist nur ein Hinweis — PDFium erzwingt ihn bei der Rasterung nicht. Ihre
Druckebene (VCL-Printer, GDI-StartDoc oder was auch immer) ist es,
die die gerenderte Bitmap oder den PostScript-Stream tatsächlich skaliert (oder die Skalierung verweigert)
Mit PrintPaperHandling,
PrintCopies und
PrintPageRanges kombinieren, wenn Sie einen Druckdialog füllen
/ViewerPreferences, liefert PDFium den Spezifikationsstandard True (AppDefault)ViewerPreference['PrintScaling'] lesen, das das wörtliche Token liefert/None istPrintScaling = False, den Standard-Radiobutton stehen lassen, wenn 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;