قص صفحات PDF في Java

يسمح لك 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());
    }
}