Программное кадрирование страниц PDF на C#

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

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

  • Область для печати: Область для печати является самой большой областью страницы. Она соответствует размеру страницы (например, A4, A5, US Letter и т. д.), выбранному при печати документа на PostScript или PDF. Другими словами, область для печати определяет физический размер носителя, на котором отображается или печатается PDF-документ.
  • Область для полей: Если в документе есть поля, то в PDF также будет область для полей. Поля — это количество цвета (или изображения), которое выходит за край страницы. Они используются для того, чтобы при печати и обрезке документа («обрезке») чернила доходили до самого края страницы. Даже если страница обрезана неправильно — обрезана немного не по меткам — на странице не появятся белые поля.
  • Область обрезки: Область обрезки указывает окончательный размер документа после печати и обрезки.
  • Область изображения: Область изображения — это область, обведённая вокруг фактического содержимого страниц в ваших документах. Эта область страницы используется при импорте PDF-документов в другие приложения.
  • Область кадрирования: Область кадрирования — это размер «страницы», который отображается в Adobe Acrobat. В обычном режиме в Adobe Acrobat отображается только содержимое области кадрирования. Для получения подробных описаний этих свойств ознакомьтесь со спецификацией Adobe.Pdf, особенно с разделом 10.10.1 Границы страницы.
  • Page.Rect: пересечение (обычно видимый прямоугольник) области для печати и области для полей. На рисунке ниже проиллюстрированы эти свойства. Для получения более подробной информации посетите эту страницу.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Приведённый ниже фрагмент показывает, как обрезать страницу:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CropPage()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "CropPageInput.pdf"))
    {
        Console.WriteLine(document.Pages[1].CropBox);
        Console.WriteLine(document.Pages[1].TrimBox);
        Console.WriteLine(document.Pages[1].ArtBox);
        Console.WriteLine(document.Pages[1].BleedBox);
        Console.WriteLine(document.Pages[1].MediaBox);
        // Create new Box rectangle
        var newBox = new Rectangle(200, 220, 2170, 1520);
        document.Pages[1].CropBox = newBox;
        document.Pages[1].TrimBox = newBox;
        document.Pages[1].ArtBox = newBox;
        document.Pages[1].BleedBox = newBox;
        // Save PDF document
        document.Save(dataDir + "CropPage_out.pdf");  
    }
}

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

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