Jak konwertować PDF na obraz w Python | IronPDF

Konwersja plików PDF na obrazy w języku Python

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

Konwersja PDF na obraz jest powszechnym wymaganiem w aplikacjach Pythona. Deweloperzy używają jej do generowania miniatur dokumentów, podglądów stron internetowych oraz do przekazywania treści PDF do kanałów przetwarzania obrazu. IronPDF dla Pythona udostępnia metodę RasterizeToImageFiles, która konwertuje dowolny dokument PDF (lub URL) na pliki obrazu JPEG, PNG lub TIFF z konfigurowalnym DPI i wymiarami.

Ten przewodnik pokazuje, jak konwertować pliki PDF na obrazy w Pythonie, jak kontrolować jakość wyjściową oraz jak dostosować rozmiar wynikowych obrazów do ograniczeń układu.

Szybki start: Konwertuj PDF na obrazy

  1. Zainstaluj IronPDF: pip install ironpdf
  2. Załaduj dokument PDF: pdf = PdfDocument.FromFile("document.pdf")
  3. Przekształć każdą stronę na PNG: pdf.RasterizeToImageFiles("output/*.png", DPI=96)
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-1.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
PYTHON

Dlaczego deweloperzy konwertują pliki PDF na obrazy?

Konwersja PDF na obraz rozwiązuje kilka praktycznych problemów w rozwoju oprogramowania. Najczęstszym wymaganiem jest generowanie podglądów - wyświetlanie miniatury dokumentu PDF w interfejsie internetowym lub w aplikacji mobilnej bez zmuszania użytkowników do pobrania i otwarcia całego pliku.

Inne częste przypadki użycia to:

  • Kanały uczenia maszynowego: modele OCR, narzędzia do analizy układów i systemy widzenia komputerowego akceptują dane wejściowe w postaci obrazów, a nie PDFów
  • Archiwizacja i zgodność: Przechowywanie wizualnego zrzutu w zestawieniu z oryginalnym PDF-em zapewnia długoterminową czytelność nawet wtedy, gdy przeglądarki PDF zmienią się
  • Osadzanie raportów: Uwzględnianie konkretnych stron PDF jako obrazów wewnątrz innych dokumentów lub szablonów e-mail
  • Automatyzacja testów: Porównywanie zrzutów stron wyrenderowanych w celu wykrycia regresji wizualnych w wyjściu PDF

Python nie zawiera natywnej funkcjonalności konwersji PDF na obraz w swojej standardowej bibliotece. Narzędzia takie jak pdf2image wymagają zainstalowania Poppler jako zewnętrznego binarnego, co zwiększa złożoność wdrożenia. IronPDF obsługuje renderowanie wewnętrznie, więc dodanie konwersji PDF do obrazu do dowolnego projektu w Pythonie wymaga tylko jednej pip install.

Zwróć uwagęIronPDF używa silnika renderującego opartego na Chromium. PDF generowane z HTML są obrazami, które wyglądają identycznie, jak wyświetlane przez przeglądarkę, co jest przydatne, gdy PDFy pochodzą z HTML lub adresów URL.

Jak przekonwertować plik PDF na obrazy?

Aby przekonwertować PDF na obrazy, wywołaj RasterizeToImageFiles na instancji PdfDocument. Metoda zapisuje jeden plik graficzny na stronę w określonym katalogu. Asteriks (*) w ścieżce wyjściowej jest zastępowany przez numer strony zaczynający od 1, więc assets/images/*.png produkowany jest assets/images/1.png, assets/images/2.png, i tak dalej.

Utwórz katalog wyjściowy przed wywołaniem metody. IronPDF nie utworzy go automatycznie, jeżeli nie istnieje.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-2.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument

# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")

# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

Parametr DPI kontroluje rozdzielczość obrazu. Wyższe DPI produkuje ostrzejszy obraz kosztem większego rozmiaru pliku i dłuższego czasu przetwarzania. Standardowe wartości:

Wartości DPI i typowe przypadki użycia
DPITypowe zastosowanie
72Rozdzielczość ekranu, szybkie przetwarzanie
96Standardowa jakość internetowa
150Dobra jakość druku
300Wysokiej jakości wyjście drukowane
Eksplorator plików pokazujący ponumerowane pliki wyjściowe PNG (od 1.png do 11.png) wygenerowane przez RasterizeToImageFiles z 11-stronicowego PDF

Katalog wyjściowy z jednym plikiem PNG na stronę PDF

Jeśli obrazy wyjściowe wydają się zamazane, zwiększ wartość DPI. Przetwarzanie 300 DPI na całym dokumencie 50-stronicowym zajmuje zauważalnie więcej czasu niż 96 DPI - wybierz na podstawie rzeczywistych wymagań dotyczących jakości przypadku użycia.

PoradyDo generowania miniatur sieciowych wystarczy 96 DPI i sprawia to, że rozmiary plików są małe. Zarezerwuj 150-300 DPI na przypadki, w których obraz będzie drukowany lub wyświetlany w pełnym rozmiarze.

Jak przekonwertować konkretny zakres stron na obrazy?

Aby przekonwertować tylko podzbiór stron, przekaż indeksy stron jako drugi argument do RasterizeToImageFiles. Indeksy stron to zera bazowane liczby całkowite.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-3.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)
PYTHON

Selektywne wyodrębnianie stron jest przydatne w dokumentach, w których potrzebne są tylko pierwsze kilka stron do podglądu, unikając niepotrzebnego przetwarzania całego pliku. Dla przepływów roboczych, które wydobywają już osadzone obrazy w PDF, IronPDF dostarcza oddzielne metody ekstrakcji.

Icon Quote related to Jak przekonwertować konkretny zakres stron na obrazy?

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 przekonwertować konkretny zakres stron na obrazy?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak przekonwertować konkretny zakres stron na obrazy?

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 przekonwertować konkretny zakres stron na obrazy?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak przekonwertować konkretny zakres stron na obrazy?

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 przekonwertować konkretny zakres stron na obrazy?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak przekonwertować URL na obrazy?

IronPDF może wyświetlić stronę internetową jako plik PDF, a następnie przekonwertować ten PDF na obrazy w jednym toku pracy. Użyj ChromePdfRenderer, aby pobrać i zrenderować URL, a następnie wywołaj RasterizeToImageFiles na otrzymanym PdfDocument. To podejście tworzy wizualne archiwa stron internetowych lub generuje obrazy podglądu treści online bez potrzeby korzystania z oddzielnego narzędzia do zrzutów ekranu.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-4.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer

# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")

# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

Wyrenderowane obrazy odzwierciedlają, jak strona wygląda w przeglądarce Chromium, w tym style CSS i treści renderowane w JavaScript. Dla stron za uwierzytelnieniem lub wymagających interakcji, rozważ użycie samouczka HTML do PDF IronPDF, aby dostarczyć pre-renderowany znacznik bezpośrednio. Powstały PDF może być następnie rasteryzowany przy użyciu tego samego podejścia, które pokazano powyżej.

Eksplorator plików pokazujący 5 plików PNG (od 1.png do 5.png) wygenerowanych z adresu URL wyrenderowanego do PDF przez IronPDF

Obrazy generowane z URL wygenerowane za pomocą IronPDF

Jak kontrolować wymiary wyjściowego obrazu?

Domyślnie RasterizeToImageFiles generuje obrazy w natywnych wymiarach strony skalowanych przez współczynnik DPI. Aby ograniczyć rozmiar wyjściowy, ustaw ImageMaxWidth i ImageMaxHeight, oba mierzone w pikselach.

IronPDF zachowuje oryginalny współczynnik proporcji na podstawie wartości ImageMaxHeight. Wyjście nie zostanie rozciągnięte ani zniekształcone, nawet jeśli podana szerokość i wysokość mają inny stosunek niż strona źródłowa.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-5.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
    "assets/images/*.png",
    ImageMaxWidth=500,
    ImageMaxHeight=500,
    DPI=200
)
PYTHON

Ustawienie ImageMaxWidth=500, ImageMaxHeight=500 na 200 DPI produkuje obrazy odpowiednie do wyświetlania jako miniatury lub w układach kartowych. Dopasuj te wartości do wymiarów wymaganych przez projekt aplikacji. Aby generować treści PDF do rasteryzacji, IronPDF również wspiera tworzenie PDF z Pythona oraz łączenie wielu PDFów przed konwersją.

WażneStosunek proporcji jest zachowany według wysokości. Jeśli strona źródłowa jest szersza niż wyższa, wynikowy obraz może być węższy niż ImageMaxWidth. Projektuj układy, aby obsługiwały miniatury o zmiennej szerokości.

Jakie są kolejne kroki konwersji PDF na obrazy?

Przewodnik ten obejmuje trzy podstawowe przepływy pracy: konwertowanie pliku PDF na obrazy, konwertowanie URL na obrazy i kontrolowanie wymiarów i jakości obrazu. IronPDF obsługuje JPEG, JPG, PNG, TIFF i dodatkowe formaty za pomocą tej samej metody RasterizeToImageFiles. Zmień rozszerzenie pliku we wzorcu ścieżki wyjściowej, aby zmienić formaty.

Dla dalszej automatyzacji rozważ te kolejne kroki:

  • Przetwarzanie wsadowe: Pętlę przez katalog PDF przetwarzaj jeden po drugim, lub użyj modułu concurrent.futures Pythona do przetwarzania równoległego
  • Selektywne wyodrębnianie: Użyj parametru indeksu strony, aby wyodrębnić tylko strony istotne dla przypadku użycia
  • Integracja kanału obrazów: Przenieś pliki wyjściowe do PIL/Pillow lub OpenCV do dalszego przetwarzania, takiego jak kadrowanie, adnotacja czy normalizacja formatu
  • Kompresja przed konwersją: Użyj kompresji PDFu IronPDF, aby zmniejszyć rozmiar pliku przed rasteryzacją dużych dokumentów
  • Przepływy pracy formularzy: Wypełniaj formularze PDF programowo, a następnie przekonwertuj wypełnione strony formularzy na obrazy do przeglądu lub archiwizacji

Aby kontynuować budowanie z IronPDF, zapoznaj się z dokumentacją IronPDF dla Pythona i przykładem rasteryzacji PDF na obrazy.

Rozpocznij bezpłatny 30-dniowy okres próbny IronPDF dla Pythona, aby używać tych funkcji w produkcji. Gdy będziesz gotowy do wdrożenia, zobacz opcje licencjonowania, aby dostosować plan do skali projektu.

Zwróć uwagęWięcej informacji: Konwersja plików PDF na obrazy

Często Zadawane Pytania

Jak przekonwertować PDF do obrazu w Pythonie?

Zainstaluj IronPDF za pomocą pip install ironpdf, następnie załaduj PDF używając PdfDocument.FromFile("file.pdf") i wywołaj RasterizeToImageFiles("output/*.png", DPI=96). To zapisuje jeden obraz na stronę w określonym katalogu.

Jakie formaty obrazów obsługuje IronPDF dla konwersji PDF?

IronPDF obsługuje formaty wyjściowe PNG, JPEG, JPG i TIFF. Określ format zmieniając rozszerzenie pliku w wzorcu ścieżki wyjściowej przekazanej do RasterizeToImageFiles, na przykład *.jpg dla JPEG lub *.tiff dla TIFF.

Jak kontrolować jakość obrazu podczas konwersji PDF?

Użyj parametru DPI w RasterizeToImageFiles. Wartość 96 to standardowa jakość webowa. 150 jest odpowiednia do podglądów drukowanych. 300 produkuje wysokiej jakości wydruk. Wyższe wartości DPI zwiększają rozmiar pliku i czas przetwarzania.

Czy mogę ustawić maksymalną szerokość lub wysokość dla obrazów wyjściowych?

Tak. Przekaż ImageMaxWidth i ImageMaxHeight w pikselach do RasterizeToImageFiles. IronPDF zachowuje proporcje obrazu w oparciu o wartość wysokości, więc obraz nie będzie zniekształcony.

Jak przekonwertować tylko wybrane strony z PDF do obrazów?

Przekaż listę indeksów stron zaczynających się od zera jako drugi argument do RasterizeToImageFiles. Na przykład, [0, 1, 2] konwertuje tylko pierwsze trzy strony.

Czy mogę przekonwertować URL strony internetowej na obraz używając IronPDF?

Tak. Użyj ChromePdfRenderer do wywołania RenderUrlAsPdf z URL, który zwraca PdfDocument. Następnie wywołaj RasterizeToImageFiles na tym dokumencie, aby uzyskać pliki obrazów z każdej renderowanej strony.

Czy IronPDF wymaga jakichkolwiek zewnętrznych binarnych plików do konwersji PDF na obraz?

Nie. IronPDF zawiera własny silnik renderujący oparty na Chromium i nie wymaga Popplera, Ghostscriptu czy jakiejkolwiek zewnętrznej instalacji binarnej. Wystarczy pip install ironpdf, aby rozpocząć.

Dlaczego moje przekonwertowane obrazy są nieostre?

Nieostre wyjście jest spowodowane niską wartością DPI. Zwiększ ją z domyślnej 96 do 150 lub 300 dla ostrzejszych wyników. Pamiętaj, że wyższe DPI powoduje większe rozmiary plików i dłuższe czasy przetwarzania.

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.