Łączenie plików PDF w jeden plik PDF za pomocą języka Python
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")
Minimalny proces (5 kroków)
- Zainstaluj bibliotekę Python do scałania plików PDF
- Użyj
RenderHtmlAsPdfdo generowania pojedynczych plików PDF lub załaduj istniejące za pomocąPdfDocument.FromFile - Zastosuj metodę
Merge, aby połączyć pliki PDF w jedenPdfDocument - Zapisz scalony dokument za pomocą
opcji "Zapisz jako" - Dla wielu PDF-ów przekaż listę obiektów
PdfDocumentdoMerge
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"
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")
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.
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")Po zapisaniu można zastosować dodatkowe przetwarzanie końcowe, takie jak kompresja PDF, aby zmniejszyć rozmiar pliku dużych scalonych dokumentów.
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.
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
PdfDocumentdo 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")
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")
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.









