在 Java 中裁剪 PDF 页面
Contents
[
Hide
]
Aspose.PDF for Java 允许您通过显式的框坐标或基于检测到的内容来裁剪页面。
通过设置页面框裁剪页面
当需要将相同的裁剪区域应用于主页面框时,请使用此示例。
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());
}
}