property FitMode: TPdfFitMode;
FitMode — это стандартный переключатель просмотрщиков PDF «вписать страницу / вписать ширину / вписать высоту», представленный как published-свойство, чтобы приложения могли поместить TPdfView на форму и выбрать макет без вычисления масштаба. Каждое значение соответствует ясному визуальному поведению:
Zoom, заданное приложением или конечным пользователем, применяется в точности. Это значение по умолчанию, сохраняющее поведение до v1.19.0 для существующих приложенийАктивный режим подгонки автоматически применяется заново при изменении размера элемента управления и при смене текущей страницы — в этом и есть весь смысл FitMode по сравнению с разовым назначением масштаба. Длинные документы со смешанными размерами страниц (например, портретная обложка и далее альбомные развороты) остаются идеально в рамке без каких-либо дополнительных обработчиков Resize / OnPageChange
Прямая установка Zoom отменяет активный режим подгонки и
возвращает FitMode к pfmNone, что соответствует стандартной конвенции
просмотрщиков PDF, где ввод процентного масштаба выключает режимы «Fit
Page» / «Fit Width» / «Fit Height». Это сохраняет честность значения свойства:
FitMode <> pfmNone означает «представление выполнит повторную подгонку
при следующем событии компоновки»
SmoothScroll для классического ощущения «читалки длинных документов»
// Whole page fits in viewport, even after resize / page change
PdfView1.FitMode := pfmFitPage;
// Page width matches viewport width — long-document reading mode
PdfView1.FitMode := pfmFitWidth;
// Page height matches viewport height — presentation mode
PdfView1.FitMode := pfmFitHeight;
// 100% — one PDF point per pixel
PdfView1.FitMode := pfmActualSize;
// User types a zoom value → drop out of fit mode
PdfView1.Zoom := 1.5;
Assert(PdfView1.FitMode = pfmNone);