Изменение размера PDF документа

Вы можете изменить размер документа, автоматически масштабируя содержимое на его страницах. Вы можете масштабировать весь документ или конкретные страницы. Доступно три метода:

  • bool PdfFileEditor.ResizeContents(string source, string destination, int[] pages, ContentsResizeParameters parameters)
  • void PdfFileEditor.ResizeContents(Document source, int[] pages, ContentsResizeParameters parameters)
  • void PdfFileEditor.ResizeContents(Document source, ContentsResizeParameters parameters)

Описание класса Options

Параметры изменения размера определяются классом опций — PdfFileEditor.ContentsResizeParameters.

Назначение

  • Настройка отступов вокруг содержимого, целевых размеров содержимого и размеров страниц.
  • Поддержка как абсолютных единиц, так и процентов.
  • При необходимости настройка MediaBox для соответствия CropBox во время изменения размера.

Основные сущности

ContentsResizeParameters

Контейнер параметров.

  • Свойства:

    • ChangeMediaBox: при включении MediaBox настраивается в соответствии с текущим CropBox во время изменения размера.
    • LeftMargin, RightMargin, TopMargin, BottomMargin: отступы вокруг содержимого (абсолютные или процентные).
    • ContentsWidth, ContentsHeight: целевой размер области содержимого (абсолютный или процентный).
  • Статические методы конфигурации (создание нового объекта ContentsResizeParameters):

    • Margins(left, right, top, bottom): отступы в абсолютных единицах страницы.
    • MarginsPercent(left, right, top, bottom): отступы в процентах.
    • ContentSize(width, height): целевой размер содержимого в абсолютных единицах.
    • ContentSizePercent(width, height): целевой размер содержимого в процентах.
    • PageResize(width, height): изменение размера страницы в абсолютных единицах.
    • PageResizePct(widthPct, heightPct): изменение размера страницы в процентах.

Вы можете создать объект ContentsResizeParameters, используя любой из статических методов выше, а затем дополнительно настроить его поля.

ContentsResizeValue

Универсальный контейнер для числового параметра.

  • Типы значений:

    • Абсолютный (Units)
    • Процентный (Percents)
    • Автоматический (Auto)
  • Ключевые поля/флаги:

    • Value: числовое значение.
    • IsPercent: указывает на процентную интерпретацию; если false — абсолютное значение.
  • Фабричные методы:

    • Units(value): создать абсолютное значение.
    • Percents(value): создать процентное значение.
    • Auto(): отметить значение для автоматического вычисления.

Рекомендации по использованию

  • Когда отступы вокруг содержимого важны — используйте Margins или MarginsPercent.
  • Когда вам нужно, чтобы содержимое соответствовало определенным размерам — используйте ContentSize или ContentSizePercent.
  • Когда вам нужно изменить размер самой страницы — используйте PageResize или PageResizePct.
  • Вы можете комбинировать абсолютные и процентные значения.
  • Включите ChangeMediaBox, если вам нужно выровнять геометрию страницы: MediaBox будет установлен в соответствии с текущим CropBox.
  • Отметьте параметры как Auto, когда хотите делегировать вычисление алгоритму.

Примеры

Пример изменения размера страницы

Увеличьте отступы страницы на 10% со всех сторон:

Установите размер содержимого 500 x 700 в единицах страницы и оставьте отступы как автоматические:

Масштабируйте страницу на 120% по ширине и 110% по высоте:

Примечания

  • Проценты интерпретируются относительно соответствующего оригинального размера.
  • Абсолютные значения указываются в единицах страницы (например, пункты).
  • Когда отступы и целевой размер содержимого устанавливаются вместе, окончательные значения вычисляются с учетом всех ограничений; неуказанные параметры могут быть вычислены автоматически.