Membagi File PDF dengan Python
Halaman ini menunjukkan cara memisahkan file PDF di Python menggunakan Aspose.PDF for Python via .NET.
Gunakan contoh-contoh ini saat Anda perlu memecah PDF besar menjadi file satu halaman, bagian-bagian yang sama, grup berukuran tetap, rentang halaman khusus, atau set halaman ganjil dan genap untuk distribusi, peninjauan, atau pemrosesan lanjutan.
Contoh Membagi PDF Online
Pemecah Aspose.PDF adalah aplikasi web daring yang memungkinkan Anda menguji fungsi pemisahan PDF.
Untuk membagi halaman PDF menjadi file PDF satu halaman dalam Python, ikuti langkah-langkah berikut:
- Lakukan perulangan pada halaman dokumen PDF melalui Dokumen objek Koleksi Halaman koleksi
- Untuk setiap iterasi, buat objek Document baru dan tambahkan yang individual Halaman objek ke dalam dokumen kosong
- Simpan PDF baru menggunakan save() metode
Membagi PDF menjadi Beberapa File dalam Python
Potongan kode Python berikut menunjukkan cara memisahkan halaman PDF menjadi file PDF individu.
import sys
import aspose.pdf as ap
from os import path
def split_documents(infile, outdir):
document = ap.Document(infile)
for page_num in range(1, len(document.pages) + 1):
with ap.Document() as new_document:
new_document.pages.add(document.pages[page_num])
new_document.save(path.join(outdir, f"Page_{page_num}.pdf"))
Bagi PDF menjadi Dua Bagian yang Setara
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Hitung titik tengah.
- Buat dokumen output pertama.
- Hapus halaman paruh kedua dari dokumen pertama.
- Simpan bagian pertama.
- Buat dokumen output kedua.
- Hapus halaman setengah pertama dari dokumen kedua.
- Simpan bagian kedua.
import sys
import aspose.pdf as ap
from os import path
def split_documents_into_two_parts(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
mid_point = total_pages // 2
# First part
with ap.Document(infile) as first_document:
first_part_range = range(mid_point + 1, total_pages + 1)
first_document.pages.delete(first_part_range)
first_document.save(path.join(outdir, "Part_1.pdf"))
# Second part
with ap.Document(infile) as second_document:
second_part_range = range(1, mid_point + 1)
second_document.pages.delete(second_part_range)
second_document.save(path.join(outdir, "Part_2.pdf"))
Membagi PDF menjadi Beberapa File Setiap N Halaman
Pisahkan dokumen PDF menjadi beberapa file kecil berdasarkan jumlah halaman tetap menggunakan Aspose.PDF for Python.
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Tentukan halaman per bagian.
- Iterasi melalui dokumen dalam potongan.
- Hitung rentang halaman untuk setiap bagian.
- Buat dokumen baru untuk setiap bagian.
- Salin halaman ke dalam dokumen baru.
- Simpan dokumen yang dipisah.
- Ulangi hingga semua halaman diproses.
import sys
import aspose.pdf as ap
from os import path
def split_documents_every_n_pages(infile, outdir, pages_per_part=3):
document = ap.Document(infile)
total_pages = len(document.pages)
part_index = 1
for start_page in range(1, total_pages + 1, pages_per_part):
end_page = min(start_page + pages_per_part - 1, total_pages)
with ap.Document() as part_document:
for page_num in range(start_page, end_page + 1):
part_document.pages.add(document.pages[page_num])
part_document.save(
path.join(outdir, f"Every_{pages_per_part}_Part_{part_index}.pdf")
)
part_index += 1
Membagi PDF berdasarkan Rentang Halaman Kustom
Pisahkan dokumen PDF menjadi beberapa file berdasarkan rentang halaman yang ditentukan secara khusus menggunakan Aspose.PDF for Python.
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Buat daftar tuple yang mewakili rentang (start_page, end_page).
- Iterasi melalui rentang yang ditentukan.
- Validasi halaman awal.
- Sesuaikan halaman akhir.
- Validasi rentang efektif.
- Buat dokumen baru untuk setiap rentang.
- Salin halaman ke dalam dokumen baru.
- Simpan setiap dokumen yang dipisah.
import sys
import aspose.pdf as ap
from os import path
def split_documents_by_page_ranges(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
# Define ranges as (start_page, end_page). Use None to indicate last page.
ranges = [(1, 3), (4, 6), (7, None)]
for index, (start_page, end_page) in enumerate(ranges, start=1):
if start_page > total_pages:
continue
effective_end = total_pages if end_page is None else min(end_page, total_pages)
if start_page > effective_end:
continue
with ap.Document() as range_document:
for page_num in range(start_page, effective_end + 1):
range_document.pages.add(document.pages[page_num])
range_document.save(
path.join(outdir, f"Range_{index}_{start_page}_to_{effective_end}.pdf")
)
Membagi PDF menjadi Halaman Pertama dan Halaman yang Tersisa
Pisahkan halaman pertama dari dokumen PDF dari sisa halaman menggunakan Aspose.PDF for Python.
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Periksa apakah dokumen kosong.
- Buat dokumen untuk halaman pertama.
- Tambahkan halaman pertama.
- Simpan dokumen halaman pertama.
- Periksa apakah ada halaman tambahan.
- Buat dokumen untuk halaman yang tersisa.
- Salin halaman yang tersisa.
- Simpan dokumen halaman yang tersisa.
import sys
import aspose.pdf as ap
from os import path
def split_documents_first_page_and_rest(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
if total_pages == 0:
return
with ap.Document() as first_page_document:
first_page_document.pages.add(document.pages[1])
first_page_document.save(path.join(outdir, "First_Page.pdf"))
if total_pages == 1:
return
with ap.Document() as remaining_pages_document:
for page_num in range(2, total_pages + 1):
remaining_pages_document.pages.add(document.pages[page_num])
remaining_pages_document.save(path.join(outdir, "Remaining_Pages.pdf"))
Pisahkan PDF menjadi Halaman Terakhir dan Halaman Sebelumnya
Ekstrak halaman terakhir dari dokumen PDF dan pisahkan dari halaman‑halaman yang tersisa menggunakan Aspose.PDF for Python.
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Periksa apakah dokumen kosong.
- Buat dokumen untuk halaman terakhir.
- Tambahkan halaman terakhir.
- Simpan dokumen halaman terakhir.
- Periksa dokumen satu halaman.
- Hapus halaman terakhir dari dokumen asli.
- Simpan halaman yang tersisa.
import sys
import aspose.pdf as ap
from os import path
def split_documents_last_page_and_rest(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
if total_pages == 0:
return
with ap.Document() as last_page_document:
last_page_document.pages.add(document.pages[total_pages])
last_page_document.save(path.join(outdir, "Last_Page.pdf"))
if total_pages == 1:
return
document.pages.delete(total_pages) # Remove last page from original document
document.save(path.join(outdir, "Previous_Pages.pdf"))
Pisahkan PDF menjadi Tiga Bagian
Pisahkan dokumen PDF menjadi tiga bagian terpisah menggunakan Aspose.PDF untuk Python.
- Muat dokumen PDF.
- Tentukan total jumlah halaman.
- Periksa apakah dokumen kosong.
- Hitung ukuran bagian.
- Iterasi melalui tiga bagian.
- Tentukan rentang halaman untuk setiap bagian.
- Validasi rentang halaman.
- Buat dokumen baru untuk setiap bagian.
- Salin halaman ke dalam dokumen bagian.
- Simpan setiap bagian.
import sys
import aspose.pdf as ap
from os import path
def split_documents_into_three_parts(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
if total_pages == 0:
return
part_size = max(1, (total_pages + 2) // 3)
for part_index in range(3):
start_page = part_index * part_size + 1
end_page = min((part_index + 1) * part_size, total_pages)
if start_page > total_pages:
break
with ap.Document() as part_document:
for page_num in range(start_page, end_page + 1):
part_document.pages.add(document.pages[page_num])
part_document.save(path.join(outdir, f"Three_Parts_{part_index + 1}.pdf"))
Pemecah Halaman PDF Kustom
Membagi dokumen PDF menjadi beberapa file berdasarkan kelompok halaman yang didefinisikan secara khusus menggunakan Aspose.PDF for Python.
import sys
import aspose.pdf as ap
from os import path
def split_documents_custom_page_groups(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
groups = [
[1, 2, 5],
[3, 4, 6, 7],
]
for group_index, group in enumerate(groups, start=1):
valid_pages = [page_num for page_num in group if 1 <= page_num <= total_pages]
if not valid_pages:
continue
with ap.Document() as group_document:
for page_num in valid_pages:
group_document.pages.add(document.pages[page_num])
group_document.save(path.join(outdir, f"Custom_Group_{group_index}.pdf"))
Pisahkan PDF menjadi Halaman Individual dengan Nama File Stabil
Pisahkan dokumen PDF menjadi halaman-halaman terpisah dan simpan dengan nama file yang stabil menggunakan Aspose.PDF for Python.
import sys
import aspose.pdf as ap
from os import path
def split_documents_with_stable_filenames(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
for page_num in range(1, total_pages + 1):
with ap.Document() as new_document:
new_document.pages.add(document.pages[page_num])
new_document.save(path.join(outdir, f"Page_{page_num:03d}.pdf"))
Pisahkan PDF menjadi Halaman Ganjil dan Genap
Pisahkan dokumen PDF menjadi dua file terpisah yang masing-masing berisi halaman ganjil dan genap menggunakan Aspose.PDF for Python.
import sys
import aspose.pdf as ap
from os import path
def split_documents_odd_even_pages(infile, outdir):
document = ap.Document(infile)
total_pages = len(document.pages)
# Odd pages document
with ap.Document(infile) as document:
with ap.Document() as odd_document:
for page_num in range(1, total_pages + 1, 2):
odd_document.pages.add(document.pages[page_num])
odd_document.save(path.join(outdir, "Odd_Pages.pdf"))
with ap.Document() as even_document:
for page_num in range(2, total_pages + 1, 2):
even_document.pages.add(document.pages[page_num])
even_document.save(path.join(outdir, "Even_Pages.pdf"))
