Обрезка страниц PDF с использованием PHP
Получение свойств страницы
Каждая страница в PDF файле имеет несколько свойств, таких как ширина, высота, области вылета, обрезки и подрезки. Aspose.PDF для PHP через Java позволяет вам получить доступ к этим свойствам.
-
Медиа-бокс: Медиа-бокс является самым большим боксом страницы. Он соответствует размеру страницы (например, A4, A5, US Letter и т. д.), выбранному при печати документа в PostScript или PDF. Другими словами, медиа-бокс определяет физический размер носителя, на котором отображается или печатается PDF-документ.
-
Область вылета: Если документ имеет вылет, то PDF будет также иметь область вылета.
Bleed — это количество цвета (или графики), которое выходит за пределы края страницы. Он используется для того, чтобы при печати и обрезке документа до нужного размера (“обрезка”) чернила доходили до края страницы. Даже если страница была неправильно обрезана — слегка отклонена от меток обрезки — на странице не появятся белые края. -
Trim box: Trim box указывает окончательный размер документа после печати и обрезки.
-
Art box: Art box — это рамка, нарисованная вокруг фактического содержимого страниц в ваших документах. Эта рамка страницы используется при импорте PDF-документов в другие приложения.
-
Crop box: Crop box — это размер “страницы”, при котором ваш PDF-документ отображается в Adobe Acrobat. В нормальном режиме отображения в Adobe Acrobat отображается только содержимое crop box. Для подробного описания этих свойств прочтите спецификацию Adobe.Pdf, особенно 10.10.1 Page Boundaries.
-
Page.Rect: пересечение (обычно видимый прямоугольник) MediaBox и DropBox. Картинка ниже иллюстрирует эти свойства.
Для получения дополнительной информации, пожалуйста, посетите эту страницу.
Пример ниже показывает, как обрезать страницу:
// Открыть документ
$document = new Document($inputFile);
$page = $document->getPages()->get_Item(1);
$responseData = $page->getCropBox() . PHP_EOL;
$responseData = $responseData . $page->getTrimBox() . PHP_EOL;
$responseData = $responseData . $page->getArtBox() . PHP_EOL;
$responseData = $responseData . $page->getBleedBox() . PHP_EOL;
$responseData = $responseData . $page->getMediaBox() . PHP_EOL;
// Создать новый прямоугольник Box
$newBox = new Rectangle(200, 220, 2170, 1520);
$page->setCropBox($newBox);
$page->setTrimBox($newBox);
$page->setArtBox($newBox);
$page->setBleedBox($newBox);
// Сохранить выходной документ
$document->save($outputFile);
$document->close();
В этом примере мы использовали пример файла здесь. Изначально наша страница выглядит, как показано на Рисунке 1.
После изменения страница будет выглядеть, как на Рисунке 2.