Обрезка страниц PDF в Java
Contents
[
Hide
]
Aspose.PDF for Java позволяет обрезать страницы либо с помощью явных координат границ страницы, либо на основе обнаруженного содержимого.
Обрезка страницы с помощью настройки её границ
Используйте этот пример, когда нужно применить одну и ту же область обрезки к основным границам страницы.
- Откройте исходный PDF в объекте Document.
- Создайте новый прямоугольник обрезки Rectangle.
- Примените прямоугольник к областям страниц, связанным с обрезкой, и сохраните документ.
public static void cropPage(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
Rectangle newBox = new Rectangle(200, 220, 2170, 1520, true);
document.getPages().get_Item(1).setCropBox(newBox);
document.getPages().get_Item(1).setTrimBox(newBox);
document.getPages().get_Item(1).setArtBox(newBox);
document.getPages().get_Item(1).setBleedBox(newBox);
document.save(outputFile.toString());
}
}
Обрезка страницы по обнаруженному содержимому
Используйте этот пример, когда область обрезки должна быть получена из первого обнаруженного изображения на странице.
- Откройте исходный PDF в объекте Document.
- Используйте ImagePlacementAbsorber для определения размещения изображений.
- Задайте область обрезки по прямоугольнику изображения, если оно найдено, затем сохраните документ.
public static void cropPageByContent(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
ImagePlacementAbsorber absorber = new ImagePlacementAbsorber();
document.getPages().get_Item(1).accept(absorber);
if (absorber.getImagePlacements().size() > 0) {
document.getPages().get_Item(1).setCropBox(absorber.getImagePlacements().get_Item(1).getRectangle());
} else {
System.out.println("No images found on the first page");
}
document.save(outputFile.toString());
}
}