/ViewerPreferences /PrintScaling ヒントのデコード値 — PDF 作成者がビューアーの印刷ダイアログでアプリケーション定義のページに合わせる拡大縮小を既定にするか、作成時のサイズでページを印刷するかを望むかproperty PrintScaling: Boolean; // read only
/ViewerPreferences の /PrintScaling エントリは PDF 32000-1 § 12.2 表 150 に従い 2 つの名前付き値のいずれかを取ります:
/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 のときは既定のラジオボタンのままにします
// 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;