/ViewerPreferences /Duplex hint를 디코딩한 값입니다. PDF 작성자가 print dialog의 기본값으로 두길 원하는 simplex / duplex paper-handling mode입니다property PrintPaperHandling: TPrintPaperHandling; // read only
/ViewerPreferences의 /Duplex 항목은 프린터가 이 문서의 용지를 어떻게 다뤄야 하는지 권고합니다(PDF 32000-1 § 12.2 Table 150). PDFium이
이름 토큰을 디코딩해 TPrintPaperHandling enum 값으로 노출합니다
phUndefined — 항목이 없습니다. "프린터/뷰어 기본값 사용"으로 취급하세요phSimplex — /Simplex. 단면 인쇄입니다phDuplexFlipShortEdge — /DuplexFlipShortEdge. 양면 인쇄, 페이지는 짧은 변을 따라 넘어갑니다(가로형 노트북과 달력에서 흔함)phDuplexFlipLongEdge — /DuplexFlipLongEdge. 양면 인쇄, 페이지는 긴 변을 따라 넘어갑니다(표준 세로형 책 제본)다른 인쇄 관련 프로퍼티처럼 이것도 작성자가 파일에 구워 넣은 힌트이며
PDFium이 강제하지 않습니다. 이 기본 설정을 지키려면 인쇄 레이어가
값을 프린터 드라이버로 넘겨야 합니다. Windows GDI에서는 StartDoc 전에
SetPdfPrintPaperHandlingDevMode를 호출해 DEVMODE.dmFields와
DEVMODE.dmDuplex를 DMDUP_SIMPLEX,
DMDUP_VERTICAL(긴 변) 또는 DMDUP_HORIZONTAL(짧은 변)로 설정하세요
이 프로퍼티를 PrintScaling, PrintCopies, PrintPageRanges와 짝지으면 문서의 모든 인쇄 기본 설정이 하나의 일관된 기본값 세트로 인쇄 대화상자를 채웁니다
phUndefined로 떨어집니다phSimplex로 폴백하고 사용자가 바꿀 수 있게 두세요
// Pre-select the duplex radio buttons and prepare the printer DevMode.
begin
case Pdf1.PrintPaperHandling of
phSimplex: radioSimplex.Checked := True;
phDuplexFlipLongEdge: radioDuplexLong.Checked := True;
phDuplexFlipShortEdge: radioDuplexShort.Checked := True;
else
radioPrinterDefault.Checked := True; // phUndefined
end;
if SetPdfPrintPaperHandlingDevMode(DevMode, Pdf1.PrintPaperHandling) then
ApplyPrinterDevMode(DevMode);
end;