/ViewerPreferences /PrintScaling документа —
должен ли диалог печати просмотрщика по умолчанию использовать определяемое приложением масштабирование по типу fit-to-page или печатать страницы в размере, заданном авторомproperty PrintScaling: Boolean; // read only
Запись /PrintScaling в /ViewerPreferences принимает одно из
двух именованных значений по PDF 32000-1 § 12.2 Table 150:
/AppDefault — пусть ридер применяет своё привычное масштабирование
(обычно "Fit to printable area"). PDFium Delphi Component отображает это в
True/None — документ свёрстан под задуманный физический размер
и должен уйти на принтер 1:1, без сжатия и подгонки. PDFium Delphi Component отображает
это в FalseБерите свойство при сборке PDF-конвейера печати, чтобы пользователю не пришлось
угадывать, чего ожидает документ. Формы, счета фиксированного формата, этикетки со
штрихкодами и препресс-корректуры обычно ставят /None, чтобы штрихкоды / размеры
вышли ровно нужного размера; брошюры и сшиваемые документы обычно оставляют умолчание,
чтобы влезть в любой размер бумаги
Это только подсказка — при растеризации PDFium её не принуждает. Масштабирует (или
отказывается масштабировать) отрендеренный bitmap или PostScript-поток ваш слой печати
(VCL Printer, GDI StartDoc или любой другой)
В паре с PrintPaperHandling,
PrintCopies и
PrintPageRanges при наполнении диалога печати
/ViewerPreferences нет, PDFium возвращает умолчание по спецификации True (AppDefault)ViewerPreference['PrintScaling'] — она возвращает литеральный токен/NonePrintScaling = False выключайте Fit-to-Page, при 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;