Jak łączyć pliki PDF za pomocą języka Python | IronPDF

Łączenie plików PDF w jeden plik PDF za pomocą języka Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Python oferuje bezpośrednie rozwiązanie do łączenia wielu dokumentów PDF w jeden plik za pomocą metody PdfDocument.Merge(), obsługując zarówno łączenie dwóch plików, jak i operacje wsadowe na rzecz efektywnego łączenia licznych plików PDF.

PDF (Portable Document Format) jest standardem do udostępniania dokumentów, które muszą wyglądać identycznie na różnych platformach i w aplikacjach. Czy konsolidujesz raporty, łączysz zeskanowane dokumenty, czy składaczysz formularze wieloczęściowe, łączenie treści PDF z różnych źródeł jest powtarzającym się wymaganiem w przepływach pracy związanych z biznesem i przetwarzaniem danych.

IronPDF obsługuje tę operację w Pythonie jednym wywołaniem metody. Ten przewodnik obejmuje instalację, podstawowe łączenie dwóch plików oraz operacje grupowe do jednoczesnego łączenia wielu dokumentów.

Szybki start: Łączenie plików PDF w języku Python

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-1.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/quickstart.py
from ironpdf import *

renderer = ChromePdfRenderer()
pdf_a = renderer.RenderHtmlAsPdf("<p>Document A</p>")
pdf_b = renderer.RenderHtmlAsPdf("<p>Document B</p>")

merged = PdfDocument.Merge([pdf_a, pdf_b])
merged.SaveAs("merged.pdf")
PYTHON

Jak zainstalować IronPDF for Python?

IronPDF jest dostępny jako pakiet Python przez pip. Wymaga Pythona 3.x i działa na Windows i Linux bez dodatkowych zależności systemowych dla standardowych operacji łączenia. Pakiet zawiera silnik renderujący oparty na Chrome, który obsługuje konwersję HTML na PDF wewnętrznie.

Zainstaluj bibliotekę IronPdf używając pip wraz z następującym poleceniem:

pip install ironpdf

Aby uzyskać szczegółowe instrukcje instalacji i pomóc w typowych problemach, takich jak "Module Not Defined" błędy lub problemy z uprawnieniami, odnieś się do oficjalnej dokumentacji.

Jakie deklaracje importowania są wymagane?

W swoim skrypcie Pythona uwzględnij następujące deklaracje importów, aby uzyskać dostęp do funkcji generowania i łączenia PDF IronPDF:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-3.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/imports.py
from ironpdf import *

# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
PYTHON

Dla aplikacji produkcyjnych, skonfiguruj swój klucz licencyjny, aby odblokować pełny zestaw funkcji IronPDF. Dostępny jest bezpłatny okres próbny - rozpocznij darmowy okres próbny, aby rozpocząć bez zakupu.

Jak połączyć dwa pliki PDF w języku Python?

Łączenie plików PDF w Pythonie obejmuje dwa kroki: tworzenie źródłowych dokumentów PDF, a następnie ich łączenie za pomocą PdfDocument.Merge(). Metoda akceptuje listę obiektów PdfDocument i tworzy nowy, połączony dokument w kolejności, w jakiej przedmioty pojawiają się na liście.

Poniżej znajduje się kompletny działający przykład:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-4.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-two-pdfs.py
from ironpdf import *

# HTML content for the first PDF
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

# HTML content for the second PDF
html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Initialize renderer
renderer = ChromePdfRenderer()

# Convert each HTML string to a PDF document
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the two documents into one
merged = PdfDocument.Merge([pdfdoc_a, pdfdoc_b])

# Save the merged result to disk
merged.SaveAs("Merged.pdf")
PYTHON

Dlaczego warto używać RenderHtmlAsPdf do generowania plików PDF?

Przykład powyżej używa dwóch ciągów HTML, każdy reprezentujący dwustronicowy dokument. RenderHtmlAsPdf konwertuje każdy string w obiekt PdfDocument za pomocą silnika renderującego IronPDF bazującego na Chrome, co daje dokładne rezultaty z zawartością HTML, CSS i JavaScript. Podejście to jest dobrze dopasowane do generowania raportów lub dokumentów napędzanych danymi z szablonów webowych. Dla bardziej złożonych scenariuszy renderowania zobacz tutorial HTML na PDF.

PoradyMożesz także załadować istniejące pliki PDF z dysku za pomocą PdfDocument.FromFile("path/to/file.pdf") i przekazać je bezpośrednio do metody Merge. Jest to przydatne podczas łączenia wcześniej istniejących raportów lub zewnętrznie generowanych dokumentów.

Jak działa metoda Merge?

PdfDocument.Merge przyjmuje listę obiektów PdfDocument w Pythonie jako jeden argument. Łączy dokumenty w kolejności listy, umieszczając wszystkie strony z pierwszego dokumentu przed wszystkimi stronami z drugiego, i tak dalej. Wynikiem jest nowy PdfDocument, który można dalej modyfikować lub zapisać. Liczba stron, zakładki i osadzona zawartość z każdego dokumentu źródłowego są wszystkie zachowane w wyjściowym wyniku.

Metoda akceptuje dowolną kombinację dokumentów przedstawionych i załadowanych z pliku na tej samej liście. Oznacza to, że można połączyć świeżo wygenerowane wyjście HTML z istniejącymi plikami PDF z dysku w jednym wywołaniu, co jest przydatne, gdy jedna część raportu jest generowana dynamicznie, a inna część to statyczny szablon.

Jak zapisać scalony plik PDF?

Przekaż pożądaną ścieżkę wyjściową do SaveAs, aby zapisać połączony dokument na dysk:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")

# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")

# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")
PYTHON

Po zapisaniu można zastosować dodatkowe przetwarzanie końcowe, takie jak kompresja PDF, aby zmniejszyć rozmiar pliku dużych scalonych dokumentów.

Wynik IronPDF przedstawiający scalony 4-stronicowy plik PDF z panelem miniatur potwierdzającym pomyślne scalenie dwóch dokumentów

Wynik scalonego pliku PDF pokazujący strony z obu dokumentów źródłowych

Icon Quote related to Jak zapisać scalony plik PDF?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Jak zapisać scalony plik PDF?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak zapisać scalony plik PDF?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Jak zapisać scalony plik PDF?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak zapisać scalony plik PDF?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Jak zapisać scalony plik PDF?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak połączyć więcej niż dwa pliki PDF w Pythonie?

Scalanie wsadowe w IronPDF odbywa się według tego samego wzorca co scalanie dwóch dokumentów. Jedyna różnica polega na tym, że więcej obiektów PdfDocument jest dodawanych do listy przed wywołaniem PdfDocument.Merge. Metoda skalująca umożliwia obsługę dziesiątek lub setek dokumentów w jednym działaniu.

To jest to samo API, niezależnie od tego, czy scala się 2 czy 200 dokumentów. Dla scenariuszy o dużej objętości, takich jak agregacja raportów nocnych czy potoki montażu dokumentów, IronPDF wspiera także równoległe generowanie PDF w celu przyspieszenia fazy renderowania przed scaleniem.

Proces obejmuje dwa kroki:

  • Utwórz listę w Pythonie zawierającą obiekty PdfDocument do połączenia
  • Przekaż listę jako argument do PdfDocument.Merge

Jak połączyć wiele plików PDF za pomocą listy?

Kod poniżej łączy cztery dokumenty wyświetlane w HTML w jednym wywołaniu:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-6.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-multiple-pdfs.py
from ironpdf import *

# HTML content for each document
html_a = """<p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

html_c = """<p> [PDF_C] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_C] 2nd Page</p>"""

html_d = """<p> [PDF_D] Content Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_D] Summary Page</p>"""

renderer = ChromePdfRenderer()

# Render all four documents
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
pdfdoc_d = renderer.RenderHtmlAsPdf(html_d)

# Collect into a list and merge
pdfs = [pdfdoc_a, pdfdoc_b, pdfdoc_c, pdfdoc_d]
pdf = PdfDocument.Merge(pdfs)

# Save the combined document
pdf.SaveAs("merged_multiple.pdf")
PYTHON

Lista przekazana do Merge określa kolejność stron w finalnym dokumencie. Przemieszczanie elementów na liście zmienia kolejność wyjściową bez dodatkowego kodu. Jeśli potrzebujesz posortować dokumenty przed łączeniem – na przykład, według daty lub numeru raportu – sortuj listę Pythona najpierw, a następnie przekaż ją do Merge.

Jak połączyć istniejące pliki PDF z dysku?

Podczas łączenia istniejących plików PDF zamiast świeżo renderowanych, załaduj każdy plik za pomocą PdfDocument.FromFile przed łączeniem. To typowy wzorzec przy pracy z plikami produkowanymi przez inne systemy - skanowane dokumenty, eksporty z raportów firm trzecich lub PDF generowane przez różne narzędzia. IronPDF odczytuje plik do pamięci jako obiekt PdfDocument, który można następnie łączyć, modyfikować lub kontrolować przed ostatecznym zapisem.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-7.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-existing-pdfs.py
from ironpdf import *

# Load existing PDF files from disk
existing_pdf1 = PdfDocument.FromFile("report1.pdf")
existing_pdf2 = PdfDocument.FromFile("report2.pdf")
existing_pdf3 = PdfDocument.FromFile("report3.pdf")

# Merge all loaded documents
merged_existing = PdfDocument.Merge([existing_pdf1, existing_pdf2, existing_pdf3])

# Save the combined result
merged_existing.SaveAs("merged_reports.pdf")
PYTHON

Zwróć uwagęIronPDF zachowuje czcionki, obrazy, adnotacje i układy stron z plików źródłowych podczas łączenia. Dokumenty z osadzonymi polami formularzy lub podpisami cyfrowymi można również scalić, chociaż interaktywne pola formularzy w wyjściu mogą wymagać ponownego spłaszczenia w zależności od przypadku użycia.

Wynik IronPDF przedstawiający scalony wielostronicowy plik PDF z panelem nawigacji miniatur wyświetlającym strony z czterech dokumentów źródłowych

Wynik łączenia wielu dokumentów pokazujący strony ze wszystkich czterech źródłowych plików PDF

Jakie są kolejne kroki przy łączeniu plików PDF w Pythonie?

Ten przewodnik zależał od dwóch głównych wzorców łączenia PDF za pomocą IronPDF: renderowanie zawartości HTML na dokumenty PDF i ich łączenie za pomocą PdfDocument.Merge, oraz ładowanie istniejących plików z dysku do wsadowego łączenia. Oba podejścia korzystają z tego samego API i skaluje się od prostych scalania dwóch plików do dużych partii dokumentów.

IronPDF wspiera dodatkowe operacje po łączeniu, takie jak dodawanie nagłówków i stopek, stosowanie znaków wodnych dla marki, wydobywanie tekstu z połączonego dokumentu i wypełnianie formularzy PDF programowo.

Biblioteka obsługuje Python 3.x na Windows i Linux. Aby dowiedzieć się więcej o operacjach PDF w Pythonie, zapoznaj się z dzieleniem PDF, konwersją PDF na obrazy i drukowaniem PDF. Aby uzyskać pełną listę przykładów kodu Pythona, odwiedź stronę z przykładami IronPDF dla Pythona.

Rozpocznij darmowy okres próbny, aby przetestować łączenie plików PDF w swoim środowisku lub zobacz opcje licencjonowania do wdrożeń produkcyjnych.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Sprawdź stronę tutoriali Python dla IronPDF tutaj: tutoriale IronPDF dla Pythona

Pobierz oprogramowanie.

Często Zadawane Pytania

Jak połączyć wiele plików PDF w jeden za pomocą języka Python?

Zainstaluj IronPDF za pomocą pip install ironpdf, następnie wywołaj PdfDocument.Merge() z listą Pythona obiektów PdfDocument. Metoda zwraca nowy scalony dokument, który zapisujesz za SaveAs.

Czy mogę scalać istniejące pliki PDF z dysku zamiast renderowanych?

Tak. Użyj PdfDocument.FromFile('ścieżka/do/pliku.pdf'), aby załadować każdy istniejący PDF, a następnie przekaż załadowane obiekty do PdfDocument.Merge(). Możesz mieszać dokumenty załadowane z plików i świeżo renderowane w tej samej liście.

Czy PdfDocument.Merge zachowuje formatowanie i czcionki dokumentu?

Tak. IronPDF zachowuje czcionki, obrazy, adnotacje i układy stron z wszystkich dokumentów źródłowych podczas scalania. Pierwotny wygląd każdego dokumentu źródłowego jest zachowany w końcowym scalonym PDF-ie.

Jak kontrolować kolejność stron w scalonym PDF-ie?

Kolejność stron w wyniku odpowiada kolejności obiektów PdfDocument na liście Pythona przekazanej do Merge. Zmieniając elementy listy przed wywołaniem Merge, kontrolujesz sekwencję.

Czy mogę skompresować scalony PDF, aby zmniejszyć rozmiar pliku?

Tak. Po scaleniu, wywołaj CompressImages(quality) na scalonym PdfDocument przed wywołaniem SaveAs. Wartość jakości 90 zapewnia dobrą równowagę między kompresją a wizualną wiernością.

Czy IronPDF dla Pythona działa na różnych platformach?

Tak. IronPDF dla Pythona obsługuje Python 3.x na Windows i Linux. To samo API PdfDocument.Merge() działa na obu platformach bez zmian konfiguracyjnych.

Czy mogę dodać metadane do scalonego dokumentu PDF?

Tak. Po scaleniu, ustaw właściwości metadanych jak pdf.MetaData.Author i pdf.MetaData.Title na scalonym PdfDocument przed zapisaniem.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2026.6 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu?
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.