Обрезка страниц PDF программно на C#

Получение свойств страницы

Каждая страница в файле PDF имеет ряд свойств, таких как ширина, высота, поля для обрезки, поля для кадрирования и поля для обрезки окончательного размера. Aspose.PDF позволяет получить доступ к этим свойствам.

  • Media box: Media box — это самая большая область страницы. Она соответствует размеру страницы (например, A4, A5, US Letter и т.д.), выбранному при печати документа в PostScript или PDF. Другими словами, media box определяет физический размер носителя, на котором отображается или печатается документ PDF.
  • Bleed box: Если документ содержит поле для обрезки, в PDF также будет bleed box. Поле для обрезки — это количество цвета (или изображения), выходящее за край страницы. Оно используется для того, чтобы убедиться, что когда документ печатается и обрезается до нужного размера (“подрезается”), краска доходит до края страницы. Даже если страница подрезана немного не по меткам обреза - на странице не появятся белые края.
  • Trim box: Trim box указывает окончательный размер документа после печати и обрезки.
  • Art box: Art box — это область, нарисованная вокруг фактического содержимого страниц в ваших документах.
  • Art box: Art box - это рамка, нарисованная вокруг фактического содержимого страниц в ваших документах.
  • Crop box: Crop box - это размер “страницы”, в котором ваш PDF-документ отображается в Adobe Acrobat. В обычном режиме в Adobe Acrobat отображается только содержимое crop box. Для подробного описания этих свойств читайте спецификацию Adobe.Pdf, особенно 10.10.1 Границы страниц.
  • Page.Rect: пересечение (обычно видимый прямоугольник) MediaBox и DropBox. Ниже приведена иллюстрация этих свойств. Для получения дополнительной информации, пожалуйста, посетите эту страницу.

Ниже приведен код, также работающий с библиотекой Aspose.PDF.Drawing.

Ниже приведен пример кода, показывающий, как обрезать страницу:

public static void CropPagesPDF()
{
    var pdfDocument1 = new Aspose.Pdf.Document("crop_page.pdf");
    Console.WriteLine(pdfDocument1.Pages[1].CropBox);
    Console.WriteLine(pdfDocument1.Pages[1].TrimBox);
    Console.WriteLine(pdfDocument1.Pages[1].ArtBox);
    Console.WriteLine(pdfDocument1.Pages[1].BleedBox);
    Console.WriteLine(pdfDocument1.Pages[1].MediaBox);

    // Создать новый прямоугольник Box
    var newBox = new Rectangle(200, 220, 2170, 1520);
    pdfDocument1.Pages[1].CropBox = newBox;
    pdfDocument1.Pages[1].TrimBox = newBox;
    pdfDocument1.Pages[1].ArtBox = newBox;
    pdfDocument1.Pages[1].BleedBox = newBox;
   
    pdfDocument1.Save("crop_page_modified.pdf");           
}

В этом примере мы использовали образец файла здесь. Изначально наша страница выглядит как показано на Рисунке 1. Рисунок 1. Обрезанная страница

После изменения страница будет выглядеть как Рисунок 2. Рисунок 2. Обрезанная страница