Open Source Python PDF Merger Library
Bezplatná a otevřená knihovna Pythonu pro rozdělení, sloučení, přidání, otočení a oříznutí stránek dokumentů PDF.
Co je pypdf?
pypdf je bezplatná a otevřená knihovna Pythonu, která umožňuje několik operací s dokumenty PDF, jako je přidávání, otáčení, ořezávání, rozdělování a slučování stránek souborů PDF.
Některé z funkcí jsou uvedeny níže:
- Sloučení souborů PDF: Pomocí pypdf můžete sloučit více dokumentů PDF do jednoho souboru PDF. To je užitečné pro kombinování zpráv PDF, prezentací nebo jiných dokumentů.
- Rozdělení souborů PDF: Pypdf také podporuje rozdělení PDF na několik menších souborů PDF. To se může hodit, když chcete velké PDF rozdělit na jednotlivé části.
- Otáčení stránek: Jednotlivé stránky v dokumentu PDF můžete otáčet pomocí pypdf. To je užitečné pro korekci orientace skenovaných dokumentů nebo obrázků.
Statistiky GitHubu
Název: pypdfJazyk: Python
hvězdy: 8.9K
Vidlice: 1.4K
Licence: Other
Úložiště bylo naposledy aktualizováno v 2025-04-04
Začínáme s pypdf
K instalaci a používání pypdf potřebujete Python verze 3.6.0 nebo vyšší. Nejprve tedy nainstalujte Python a poté pomocí níže uvedených příkazů nainstalujte pypdf do svého počítače pomocí pip a virtuální prostředí.
Linux
python3 -m venv venv
source venv/bin/activate
pip install pypdf
MacOS
python -m venv venv
source venv/bin/activate
pip install pypdf
Windows
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
Přidat, otočit a oříznout stránky PDF
Knihovnu pypdf v Pythonu můžete použít k manipulaci se soubory PDF, jako je přidávání, otáčení, ořezávání stránek a dokonce přidávání akcí JavaScriptu do dokumentů PDF pomocí tříd PdfWriter a PdfReader jak je uvedeno v níže uvedeném kódu:
Poznámka: Protože obsah již není viditelný, nezmizel. Oříznutí funguje úpravou zobrazovacího pole. To znamená, že obsah, který byl oříznut, lze stále obnovit.
# Import the PdfWriter & PdfReader classes from the pypdf library | |
from pypdf import PdfWriter, PdfReader | |
# Open PDF document and instantiate writer object for performing operations on the PDF | |
reader = PdfReader("documentprocessing.pdf") | |
writer = PdfWriter() | |
# Add page 1 from reader to output document, unchanged: | |
writer.add_page(reader.pages[0]) | |
# Add page 2 from reader, but rotated clockwise 90 degrees: | |
writer.add_page(reader.pages[1].rotate(90)) | |
# Add page 3 from reader, but crop it to half size: | |
page3 = reader.pages[2] | |
page3.mediabox.upper_right = ( | |
page3.mediabox.right / 2, | |
page3.mediabox.top / 2, | |
) | |
writer.add_page(page3) | |
# Add some Javascript to launch the print window on opening this PDF. | |
# The password dialog may prevent the print dialog from being shown, | |
# Comment the the encription lines, if that's the case, to try this out: | |
writer.add_js("this.print({bUI:true,bSilent:false,bShrinkToFit:true});") | |
# Write to document-output.pdf | |
with open("pypdf-output.pdf", "wb") as fp: | |
writer.write(fp) |
Sloučit soubory PDF
Knihovnu pypdf v Pythonu můžete použít k manipulaci se soubory PDF, jako je sloučení více souborů PDF do jednoho dokumentu. Soubory PDF můžete sloučit a manipulovat s nimi pomocí funkcí třídy PdfWriter, jak je uvedeno v kódu níže:
# Import the PdfWriter class from the pypdf library | |
from pypdf import PdfWriter | |
# Create a PdfWriter object to merge PDFs | |
merger = PdfWriter() | |
# List of PDF files to be merged | |
pdf_files = ["documentprocessing.pdf", "data.pdf"] | |
# Iterate through the PDF files and append them to the merger | |
for pdf in pdf_files: | |
merger.append(pdf) | |
# Write the merged PDF to a new file named "merged-pdf.pdf" | |
merger.write("merged-pdf.pdf") | |
# Close the merger object | |
merger.close() |
Rozdělit dokument PDF
Dokument PDF můžeme rozdělit na několik dokumentů pomocí různých funkcí tříd PdfWriter a PdfReader v knihovně pypdf. Níže uvedený fragment kódu rozdělí poskytnutý dokument PDF na dvě poloviny a uloží je jako dva samostatné soubory PDF:
# Import the PdfWriter & PdfReader classes from the pypdf library | |
from pypdf import PdfReader, PdfWriter | |
# Open the PDF Document | |
input_pdf = PdfReader(open("1.pdf", "rb")) | |
# Split the PDF into two parts | |
mid_page = int(len(input_pdf.pages) / 2) | |
first_half = PdfWriter() | |
second_half = PdfWriter() | |
for page_num in range(mid_page): | |
first_half.add_page(input_pdf.pages[page_num]) | |
for page_num in range(mid_page, len(input_pdf.pages)): | |
second_half.add_page(input_pdf.pages[page_num]) | |
# Save the two halves to the same directory | |
output_file1 = 'first_half.pdf' | |
output_file2 = 'second_half.pdf' | |
with open(output_file1, 'wb') as output1: | |
first_half.write(output1) | |
with open(output_file2, 'wb') as output2: | |
second_half.write(output2) |
Závěr
Závěrem lze říci, že možnosti slučování pypdf jsou příkladné a ukazují odbornost knihovny při práci s dokumenty PDF. Schopnost pypdf bez námahy kombinovat soubory PDF z něj činí vynikající volbu pro úkoly vyžadující sestavení dokumentů, generování sestav nebo konsolidaci různých zdrojů PDF. Jeho uživatelsky přívětivé funkce a efektivní možnosti slučování přispívají k jeho pověsti cenného nástroje při správě dokumentů PDF.