/ViewerPreferences /PrintScaling 提示的解碼值 — PDF 作者是否希望檢視器的列印對話方塊預設採用應用程式定義的符合頁面縮放,或是以原始大小列印頁面property PrintScaling: Boolean; // read only
依據 PDF 32000-1 § 12.2 表 150,/ViewerPreferences 的 /PrintScaling 項目會採用下列兩個具名數值之一:
/AppDefault — 讓檢視器套用其慣用的縮放行為(通常是「符合可列印範圍」)。PDFium Delphi Component 將此對應為 True/None — 文件是以預期的實體大小編排,應以 1:1 送至印表機,不縮小也不符合。PDFium Delphi Component 將此對應為 False在組裝 PDF 列印管線時請使用此屬性,讓使用者不必猜測文件期望的設定。表單、固定格式的發票、含條碼的標籤與印前打樣通常會設定 /None,讓條碼 / 測量值輸出正確的尺寸;手冊與裝訂文件通常會保留預設值,使其能符合任何紙張大小
這僅為提示 — PDFium 在點陣化期間不會強制執行。您的列印層(VCL Printer、GDI StartDoc 或任何其他方式)才是實際縮放(或拒絕縮放)轉譯後點陣圖或 PostScript 串流者。在填入列印對話方塊時,請與 PrintPaperHandling、PrintCopies 和 PrintPageRanges 搭配使用
/ViewerPreferences 中沒有此項目,PDFium 會傳回規格預設值 True(AppDefault)ViewerPreference['PrintScaling'],它會傳回字面語彙基元/None 時,會在「列印」對話方塊中自動選取「實際大小」PrintScaling = False 時停用「符合頁面」,當 True 時保留預設的選項按鈕
// 將文件偏好的縮放模式套用至印表機設定
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;