Это должно быть возможно при использовании любой приличной библиотеки PDF общего назначения.
Например, чтобы обрезать 1 дюйм справа, используя iText 7:
using (PdfReader reader = new PdfReader(SOURCE_PDF))
using (PdfWriter writer = new PdfWriter(TARGET_PDF))
using (PdfDocument document = new PdfDocument(reader, writer))
{
for (int i = 1; i <= document.GetNumberOfPages(); i++)
{
PdfPage page = document.GetPage(i);
Rectangle cropBox = page.GetCropBox();
cropBox.SetWidth(cropBox.GetWidth() - 72);
page.SetCropBox(cropBox);
}
}
Если, как вы упомянули в комментарий, вы действительно хотите вырезать правую часть PDF, чтобы иметь PDF шириной 88 мм, с той же высотой , заменить
cropBox.SetWidth(cropBox.GetWidth() - 72);
на
cropBox.SetWidth(88f * 72f / 25.4f);
Размеры рамки обрезки даны в единицах пространства пользователя по умолчанию, которые в свою очередь по умолчанию составляют 1⁄72 дюйма. Таким образом, чтобы задать размер в мм, нужно сначала умножить это число на (72 / 25,4).
Два замечания:
На самом деле единица пространства пользователя по умолчанию может отличаться, если задано свойство страницы UserUnit , которое указано как
положительное число, которое должно давать размер единиц пространства пользователя по умолчанию , кратно 1⁄72 дюйма. Диапазон поддерживаемых значений зависит от реализации.
Значение по умолчанию: 1,0 (единица пространства пользователя составляет 1⁄72 дюйма).
(ISO 32000-1, Таблица 30 - Записи в объекте страницы)
Это свойство используется редко, хотя, в частности, из-за бита «Диапазон поддерживаемых значений должен зависеть от реализации», поэтому я проигнорировал его выше .
Если вы не хотите обрезать , а вместо этого увеличить область страницы, вам, вероятно, потребуется не только увеличить CropBox , а также MediaBox .
Боксы обрезки, обрезки, обрезки и художественного оформления обычно не должны выходить за границы блока носителя. Если они это сделают, они фактически сводятся к пересечению с медиа-боксом.
(ISO 32000-1, раздел 14.11.2.1 Границы страницы / Общее)
PdfPage
имеет аналогичные методы GetMediaBox
и SetMediaBox
, которые можно использовать для увеличения MediaBox .