Recortar páginas PDF em Java
Contents
[
Hide
]
Aspose.PDF for Java permite que você recorte páginas tanto por coordenadas de caixa explícitas quanto com base no conteúdo detectado.
Cortar uma página definindo as caixas de página
Use este exemplo quando precisar aplicar a mesma área de corte às caixas de página principais.
- Abra o PDF de origem em um objeto Document.
- Crie o novo corte Rectangle.
- Aplique o retângulo às caixas de página relacionadas ao corte e salve o documento.
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());
}
}
Recortar uma página pelo conteúdo detectado
Use este exemplo quando a área de recorte deve ser derivada da primeira imagem detectada na página.
- Abra o PDF de origem em um objeto Document.
- Use ImagePlacementAbsorber para detectar posicionamentos de imagens.
- Defina a caixa de recorte para o retângulo da imagem se uma for encontrada, então salve o documento.
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());
}
}