Java에서 PDF 페이지 자르기

Aspose.PDF for Java를 사용하면 명시적인 상자 좌표나 감지된 콘텐츠를 기준으로 페이지를 자를 수 있습니다.

페이지 상자를 설정하여 페이지 자르기

기본 페이지 상자에 동일한 자르기 영역을 적용해야 할 때 이 예를 사용하세요.

  1. 원본 PDF Document를 여세요.
  2. 새 자르기 Rectangle을 만드세요.
  3. 자르기 관련 페이지 상자에 사각형을 적용하고 문서를 저장하세요.
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());
    }
}

감지된 콘텐츠로 페이지 자르기

페이지에서 처음 감지된 이미지에서 자르기 영역을 파생해야 하는 경우 이 예를 사용합니다.

  1. 원본 PDF Document를 여세요.
  2. ImagePlacementAbsorber를 사용하여 이미지 배치를 감지하세요.
  3. 자르기 상자를 이미지 직사각형으로 설정한 다음 문서를 저장하세요.
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());
    }
}