Dapatkan dan Atur Properti Halaman PDF dengan Python
Aspose.PDF for Python via .NET memungkinkan Anda membaca dan mengatur properti halaman dalam file PDF di aplikasi Python Anda. Bagian ini menunjukkan cara memperoleh jumlah halaman dalam file PDF, mendapatkan informasi tentang properti halaman PDF seperti warna, dan mengatur properti halaman. Contoh-contoh menggunakan Document dan PageCollection API dan ditulis dalam Python.
Gunakan panduan ini ketika Anda perlu memeriksa metadata halaman, menentukan jumlah halaman, atau memperbarui karakteristik tingkat halaman sebagai bagian dari analisis dokumen atau tugas normalisasi.
Dapatkan Jumlah Halaman dalam File PDF
Saat bekerja dengan dokumen, Anda sering ingin mengetahui berapa banyak halaman yang mereka miliki. Dengan Aspose.PDF ini tidak memerlukan lebih dari dua baris kode.
Untuk mendapatkan jumlah halaman dalam file PDF:
- Buka file PDF menggunakan Document class.
- Kemudian gunakan PageCollection properti Count koleksi (dari objek Document) untuk mendapatkan total jumlah halaman dalam dokumen.
Cuplikan kode berikut menunjukkan cara mendapatkan jumlah halaman dari file PDF.
import sys
import aspose.pdf as ap
from os import path
def get_page_count(input_file_name):
# Open document
document = ap.Document(input_file_name)
# Get page count
print("Page Count:", str(len(document.pages)))
Dapatkan jumlah halaman tanpa menyimpan dokumen
Kadang-kadang kami menghasilkan file PDF secara instan dan selama pembuatan file PDF, kami mungkin menemukan kebutuhan (membuat Daftar Isi dll.) untuk memperoleh jumlah halaman file PDF tanpa menyimpan file ke sistem atau aliran. Jadi untuk memenuhi kebutuhan ini, sebuah metode process_paragraphs() telah diperkenalkan dalam kelas Document. Silakan lihat potongan kode berikut yang menunjukkan langkah-langkah untuk mendapatkan jumlah halaman tanpa menyimpan dokumen.
import sys
import aspose.pdf as ap
from os import path
def get_page_count_without_saving(input_file_name):
# Instantiate Document instance
document = ap.Document()
# Add page to pages collection of PDF file
page = document.pages.add()
# Create loop instance
for _ in range(0, 300):
# Add TextFragment to paragraphs collection of page object
page.paragraphs.add(ap.text.TextFragment("Pages count test"))
# Process the paragraphs in PDF file to get accurate page count
document.process_paragraphs()
# Print number of pages in document
print("Number of pages in document =", str(len(document.pages)))
Dapatkan Properti Halaman
Setiap halaman dalam file PDF memiliki sejumlah properti, seperti lebar, tinggi, bleed-, crop-, dan trimbox. Aspose.PDF memungkinkan Anda mengakses properti tersebut.
Memahami Properti Halaman: Perbedaan antara Artbox, BleedBox, CropBox, MediaBox, TrimBox, dan properti Rect
- Media box: Media box adalah kotak halaman terbesar. Itu sesuai dengan ukuran halaman (misalnya A4, A5, US Letter, dll.) yang dipilih ketika dokumen dicetak ke PostScript atau PDF. Dengan kata lain, media box menentukan ukuran fisik media tempat dokumen PDF ditampilkan atau dicetak.
- Bleed box: Jika dokumen memiliki bleed, PDF juga akan memiliki bleed box. Bleed adalah jumlah warna (atau karya seni) yang melampaui tepi halaman. Ini digunakan untuk memastikan bahwa saat dokumen dicetak dan dipotong ke ukuran (“trimmed”), tinta akan mencapai seluruh tepi halaman. Bahkan jika halaman dipotong tidak tepat - dipotong sedikit di luar tanda pemotongan - tidak akan muncul tepi putih pada halaman.
- Trim box: Trim box menunjukkan ukuran akhir dokumen setelah pencetakan dan pemotongan.
- Art box: Art box adalah kotak yang digambar di sekitar konten sebenarnya dari halaman dalam dokumen Anda. Kotak halaman ini digunakan saat mengimpor dokumen PDF ke dalam aplikasi lain.
- Crop box: Crop box adalah ukuran “halaman” di mana dokumen PDF Anda ditampilkan di Adobe Acrobat. Dalam tampilan normal, hanya isi dari crop box yang ditampilkan di Adobe Acrobat.
Untuk deskripsi mendetail tentang properti ini, baca spesifikasi Adobe.Pdf, khususnya 10.10.1 Page Boundaries.
– Page.Rect: perpotongan (biasanya persegi panjang yang terlihat) dari MediaBox dan DropBox (
Page.rect). LihatRectangletipe untuk properti persegi panjang. Gambar di bawah ini mengilustrasikan properti tersebut.
Untuk detail lebih lanjut, silakan kunjungi halaman ini.
Mengakses Properti Halaman
The Page kelas menyediakan semua properti yang terkait dengan halaman PDF tertentu. Semua halaman file PDF terkandung dalam the of the Document objek PageCollection koleksi.
Dari sana, dimungkinkan untuk mengakses baik individu Page objek menggunakan indeks mereka, atau iterasi melalui koleksi untuk mendapatkan semua halaman. Begitu sebuah halaman individu diakses, kita dapat mengambil propertinya. Potongan kode berikut menunjukkan cara mendapatkan properti halaman (the Page API).
import sys
import aspose.pdf as ap
from os import path
def get_page_properties(input_file_name):
# Open document
document = ap.Document(input_file_name)
# Get particular page
page = document.pages[1]
# Get page properties
boxes = {
"ArtBox": page.art_box,
"BleedBox": page.bleed_box,
"CropBox": page.crop_box,
"MediaBox": page.media_box,
"TrimBox": page.trim_box,
"Rect": page.rect,
}
# Print box properties
for box_name, box in boxes.items():
print(
f"{box_name} : Height={box.height},Width={box.width},LLX={box.llx},LLY={box.lly},URX={box.urx},URY={box.ury}"
)
# Print other page properties
print(f"Page Number : {page.number}")
print(f"Rotate : {page.rotate}")
Tentukan Warna Halaman
The Page kelas menyediakan properti yang terkait dengan halaman tertentu dalam dokumen PDF, termasuk jenis warna - RGB, hitam putih, skala abu-abu atau tidak terdefinisi - yang digunakan halaman.
Semua halaman file PDF terkandung dalam PageCollection koleksi. The warna_jenis properti menentukan warna elemen pada halaman. Untuk mendapatkan atau menentukan informasi warna untuk halaman PDF tertentu, gunakan Page objek warna_jenis properti.
Potongan kode berikut menunjukkan cara mengiterasi setiap halaman file PDF untuk mendapatkan informasi warna.
import sys
import aspose.pdf as ap
from os import path
def get_page_color_type(input_file_name):
# Open source PDF file
document = ap.Document(input_file_name)
# Iterate through all the page of PDF file
for page_number in range(1, len(document.pages) + 1):
# Get the color type information for particular PDF page
page_color_type = document.pages[page_number].color_type
color_type_map = {
ap.ColorType.BLACK_AND_WHITE: "Black and white",
ap.ColorType.GRAYSCALE: "Gray Scale",
ap.ColorType.RGB: "RGB",
ap.ColorType.UNDEFINED: "undefined",
}
color_description = color_type_map.get(page_color_type, "unknown")
print(f"Page # {page_number} is {color_description}.")