Mendapatkan dan mengatur properti halaman PDF di Java

Aspose.PDF for Java dapat memeriksa jumlah halaman, kotak halaman, rotasi, dan tipe warna halaman.

Mendapatkan jumlah halaman

Gunakan contoh ini ketika Anda perlu membaca total jumlah halaman dalam PDF.

  1. Buka PDF sumber Document.
  2. Baca ukuran koleksi halaman.
  3. Keluarkan jumlah total halaman.
public static void getPageCount(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        System.out.println("Page Count: " + document.getPages().size());
    }
}

Mendapatkan jumlah halaman sebelum menyimpan

Gunakan contoh ini ketika Anda perlu mengetahui berapa banyak halaman yang akan dihasilkan konten sebelum menulis file.

  1. Buat PDF baru Document dan tambahkan konten ke halaman.
  2. Proses paragraf untuk memaksa perhitungan tata letak.
  3. Baca jumlah halaman yang dihasilkan dan keluarkan.
public static void getPageCountWithoutSaving(Path inputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        for (int i = 0; i < 300; i++) {
            page.getParagraphs().add(new TextFragment("Pages count test"));
        }
        document.processParagraphs();
        System.out.println("Number of pages in document = " + document.getPages().size());
    }
}

Mendapatkan properti kotak halaman

Gunakan contoh ini ketika Anda perlu memeriksa semua dimensi kotak utama dan nilai rotasi halaman.

  1. Buka PDF sumber Document dan akses halaman target.
  2. Kumpulkan nilai kotak halaman ke dalam peta.
  3. Keluarkan dimensi dan informasi rotasi halaman.
public static void getPageProperties(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);
        Map<String, Rectangle> boxes = new LinkedHashMap<>();
        boxes.put("ArtBox", page.getArtBox());
        boxes.put("BleedBox", page.getBleedBox());
        boxes.put("CropBox", page.getCropBox());
        boxes.put("MediaBox", page.getMediaBox());
        boxes.put("TrimBox", page.getTrimBox());
        boxes.put("Rect", page.getRect());

        for (Map.Entry<String, Rectangle> entry : boxes.entrySet()) {
            Rectangle box = entry.getValue();
            System.out.println(entry.getKey() + " : Height=" + box.getHeight()
                    + ",Width=" + box.getWidth()
                    + ",LLX=" + box.getLLX()
                    + ",LLY=" + box.getLLY()
                    + ",URX=" + box.getURX()
                    + ",URY=" + box.getURY());
        }

        System.out.println("Page Number : " + page.getNumber());
        System.out.println("Rotate : " + page.getRotate());
    }
}

Mendapatkan tipe warna setiap halaman

Gunakan contoh ini ketika Anda perlu mengidentifikasi apakah halaman berwarna hitam putih, skala abu-abu, atau RGB.

  1. Buka PDF sumber Document.
  2. Iterasikan semua halaman dan baca setiap halaman ColorType.
  3. Ubah nilai enum menjadi teks yang dapat dibaca dan keluarkan hasilnya.
public static void getPageColorType(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        for (int pageNumber = 1; pageNumber <= document.getPages().size(); pageNumber++) {
            ColorType pageColorType = document.getPages().get_Item(pageNumber).getColorType();
            String colorDescription = switch (pageColorType) {
                case BlackAndWhite -> "Black and white";
                case Grayscale -> "Gray Scale";
                case Rgb -> "RGB";
                case Undefined -> "undefined";
            };
            System.out.println("Page # " + pageNumber + " is " + colorDescription + ".");
        }
    }
}