Java PDF do pliku graficznego
Konwertuj dokumenty PDF na formaty graficzne, takie jak JPEG, PNG lub TIFF w Javie, korzystając z metody toBufferedImages biblioteki IronPDF. Załaduj plik PDF, wywołaj toBufferedImages, aby uzyskać listę obiektów BufferedImage, a następnie zapisz każdy obraz na dysku za pomocą ImageIO. Cała konwersja zajmuje mniej niż dziesięć wierszy działającego kodu Java.
Szybki start: Konwersja plików PDF na obrazy w Javie
-
Dodaj zależność IronPDF do swojego projektu Maven: ```xml :title=pom.xml
com.ironsoftware ironpdf 2024.9.1 -
Załaduj dokument PDF:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/load-pdf.java PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf"));//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/load-pdf.java PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf"));JAVA - Konwersja na obrazy i zapis:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-and-save.java List<BufferedImage> images = pdf.toBufferedImages(); for (int i = 0; i < images.size(); i++) { ImageIO.write(images.get(i), "PNG", new File("page_" + i + ".png")); }//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-and-save.java List<BufferedImage> images = pdf.toBufferedImages(); for (int i = 0; i < images.size(); i++) { ImageIO.write(images.get(i), "PNG", new File("page_" + i + ".png")); }JAVA
Jak przekonwertować plik PDF na obraz w Javie
- Zainstaluj bibliotekę Java IronPDF
- Załaduj plik PDF przy użyciu
PdfDocument.fromFile() - Wywołaj
toBufferedImages(), aby uzyskaćList - Ustaw wymiary wyjściowe z
ToImageOptionsw razie potrzeby - Zapisz każdy obraz na dysku używając
ImageIO.write()
Czym jest konwersja plików PDF na obrazy i dłączego jest potrzebna?
Konwersja PDF na obraz przekształca każdą stronę dokumentu PDF w samodzielny plik obrazu (JPEG, PNG lub TIFF), który można wyświetlać, osadzać lub przetwarzać bez przeglądarki PDF. Standardowe biblioteki Java nie zapewniają wbudowanego mechanizmu do tego, co sprawia, że jest to stały punkt bólu dla programistów potrzebujących podglądów dokumentów, generatorów miniatur lub przewodów archiwizacyjnych.
Częste zastosowania obejmują generowanie podglądów miniatur dla systemów zarządzania dokumentami, produkowanie zrzutów ekranowych poziomu strony dla aplikacji internetowych oraz wyodrębnianie treści wizualnych na potrzeby raportów lub prezentacji. IronPDF zajmuje się całą wewnętrzną złożonością renderowania, więc kod aplikacji pozostaje krótki, a wynik jest pikselowo dokładny, niezależnie od czcionek, grafiki wektorowej czy pól formularzy w źródłowym PDF. Dla operacji odwrotnej polegającej na umieszczaniu obrazów w pliku PDF, zobacz przewodnik zamiany obrazu na PDF.
Czym jest IronPDF for Java i w jaki sposób może pomóc?
IronPDF for Java to biblioteka do tworzenia, czytania i edytowania plików PDF w projektach opartych na Maven. Programiści używają jej do generowania PDF z HTML, modyfikowania istniejących dokumentów i wyodrębniania treści bez zainstalowanego Adobe Acrobat lub jakiejkolwiek przeglądarki PDF na serwerze.
Biblioteka obsługuje niestandardowe nagłówki i stopki, podpisy cyfrowe, tworzenie formularzy, ochronę hasłem oraz renderowanie wielowątkowe. Jej funkcja konwersji plików PDF na obrazy udostępnia przejrzysty interfejs API poprzez dwa przeciążenia toBufferedImages: jedno, które konwertuje każdą stronę przy użyciu ustawień domyślnych, oraz drugie, które akceptuje obiekt ToImageOptions i PageSelection w celu kontrolowania rozdzielczości i zakresu stron. Dla kompletnego przeglądu funkcji odwiedź dokumentację IronPDF for Java. Dla pełnego odniesienia API zobacz Java API reference.
Poza podstawową konwersją, IronPDF obsługuje renderowanie HTML do PDF, własne znaki wodne, tła i warstwy pierwszego planu oraz tworzenie formularzy. Biblioteka wysyła także artefakty Maven w repozytorium Sonatype Maven Central, więc zarządzanie zależnościami przebiega zgodnie z standardowymi przepływami pracy Maven lub Gradle.
Jakie warunki wstępne muszę spełnić przed rozpoczęciem pracy?
Przed rozpoczęciem potwierdź, że następujące rzeczy są na miejscu:
- Zainstalowana Java z ustawioną ścieżką w zmiennych środowiskowych. Zobacz oficjalny przewodnik instalacji Java.
- Zainstalowane IDE dla Java; Zarówno Eclipse, jak i IntelliJ działają dobrze. Pobierz Eclipse lub IntelliJ IDEA.
- Zintegrowany Maven z IDE. Zobacz ten samouczek instalacji Maven dla IntelliJ.
- Skonfigurowane klucze licencyjne przed wdrożeniem do środowiska produkcyjnego.
Jak zainstalować IronPDF for Java?
Kiedy wszystkie wymagania wstępne są spełnione, instalacja to pojedyncza deklaracja zależności Maven. Dla szczegółowych kroków konfiguracji zobacz dokumentację rozpoczęcia pracy.
Otwórz JetBrains IntelliJ IDEA i utwórz nowy projekt Maven.
Pojawi się nowe okno. Wpisz nazwę projektu i kliknij Zakończ.
Po kliknięciu przycisku "Zakończ" otworzy się nowy projekt, w którym domyślnie wyświetlany jest tekst pom.xml. Dodaj następujące zależności do tego pliku. Opcjonalna pozycja SLF4J tłumi szum logowania podczas rozwoju; usun to, jesli twoj projekt juz zawiera system logowania.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/pom-dependencies.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/pom-dependencies.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
Po dodaniu zależności do pom.xml w prawym górnym rogu edytora pojawia się ikona synchronizacji Maven.
Kliknij ikone synchronizacji, aby pobrac plik JAR IronPDF. Czas pobierania zalezy od predkosci polaczenia, zazwyczaj ponizej dwoch minut. Po instalacji, odwiedz Java API reference, aby zobaczyc wszystkie dostepne metody i opcje konfiguracji. Dla celow wdrozeniowych w chmurze, IronPDF posiada przetestowane przewodniki dla AWS, Azure i Google Cloud.
Jak przekonwertować pliki PDF na obrazy za pomocą IronPDF?
Wywołanie toBufferedImages na obiekcie PdfDocument generuje List<BufferedImage>, gdzie każdy element odpowiada jednej stronie PDF w porządku rosnącym według numerów stron. Nastepnie wynik moze byc zapisany na dysku, przekazany do linii przetwarzania obrazow lub zwrocony bezposrednio do odpowiedzi sieciowej.
IronPDF takze konwertuje URL-i oraz lancuchy HTML do PDFa dynamicznie, mozliwe jest wiec uchwycenie dowolnej strony internetowej lub wyrenderowanego dokumentu HTML jako obrazy w jednej linii przetwarzania bez osobnego kroku renderowania.
Jak przekonwertować istniejący dokument PDF na obrazy?
toBufferedImages akceptuje opcjonalny argument ToImageOptions do kontrolowania wymiarów wyjściowych oraz argument PageSelection do kierowania na konkretne strony. W przypadku braku argumentow, wszystkie strony sa konwertowane w ich naturalnej rozdzielczosci.
Poniższy przykład konwertuje wszystkie strony pliku PDF na pliki PNG, używając ToImageOptions, aby ograniczyć rozmiar każdego obrazu wyjściowego do 800x500 pikseli:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-pdf-to-images.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Load the PDF document from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("business_plan.pdf"));
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages to BufferedImage objects with the configured dimensions
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
// Write each page image to the assets/images folder (create the folder first)
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-pdf-to-images.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Load the PDF document from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("business_plan.pdf"));
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages to BufferedImage objects with the configured dimensions
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
// Write each page image to the assets/images folder (create the folder first)
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
Wynikowe obrazy są zapisywane w assets/images/ z numerycznymi nazwami plików zaczynającymi się od 1. Utwórz ten folder przed uruchomieniem programu, ponieważ ImageIO.write nie tworzy brakujących katalogów. Wywołania setImageMaxHeight i setImageMaxWidth ustalają górne granice dla każdego wymiaru; IronPDF zachowuje oryginalne proporcje i nie rozciaga obrazu.
ImageIO.write z "PNG" na "JPEG" i odpowiednio zaktualizuj rozszerzenie pliku.Dla wiecej przykladow konwersji odwiedz strone przykladow rastrowania PDF.
Jak moge przekonwertowac URL do obrazow przy uzyciu IronPDF?
PdfDocument.renderUrlAsPdf pobiera adres URL, renderuje go za pomocą wbudowanego silnika Chromium i zwraca PdfDocument, który można natychmiast przekazać do toBufferedImages. To czyni to prostym, aby uchwycic dowolna publicznie dostepna strone jako serie obrazow.
Przyklad ponizej renderuje strone produktu Amazon do PDF, a nastepnie zapisuje kazda wynikowa strone jako plik PNG:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-url-to-images.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render a URL to a PDF document using the Chromium rendering engine
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com");
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages and write to disk
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-url-to-images.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render a URL to a PDF document using the Chromium rendering engine
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com");
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages and write to disk
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
Dla stron wymagajacych uwierzytelniania lub ciasteczek sesji przed renderowaniem, przeczytaj przewodnik logowan do stron internetowych.
renderUrlAsPdf, zapewnia taką samą obsługę CSS i JavaScript jak nowoczesna przeglądarka na komputery stacjonarne. Strony polegajace na JavaScript po stronie klienta do ladowania zawartosci beda renderowane poprawnie, wlaczajac aplikacje jednkartkowe.Jak przekonwertować określone strony na obrazy?
PageSelection udostępnia kilka metod fabrycznych do kierowania tłumaczenia na podzbiór stron zamiast na cały dokument. To jest przydatne, gdy tylko strona tytulowa, sekcja streszczenia lub znany zakres stron musi zostac wyekstrahowany.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/page-selection.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class PageSelectionExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf"));
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert only the first page (page index is zero-based)
List<BufferedImage> coverPage = pdf.toBufferedImages(options, PageSelection.singlePage(0));
ImageIO.write(coverPage.get(0), "PNG", new File("cover.png"));
// Convert pages 2 through 5 (zero-based indices 1 through 4)
List<BufferedImage> excerpt = pdf.toBufferedImages(options, PageSelection.pageRange(1, 4));
for (int i = 0; i < excerpt.size(); i++) {
ImageIO.write(excerpt.get(i), "PNG", new File("excerpt_" + (i + 1) + ".png"));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/page-selection.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class PageSelectionExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf"));
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert only the first page (page index is zero-based)
List<BufferedImage> coverPage = pdf.toBufferedImages(options, PageSelection.singlePage(0));
ImageIO.write(coverPage.get(0), "PNG", new File("cover.png"));
// Convert pages 2 through 5 (zero-based indices 1 through 4)
List<BufferedImage> excerpt = pdf.toBufferedImages(options, PageSelection.pageRange(1, 4));
for (int i = 0; i < excerpt.size(); i++) {
ImageIO.write(excerpt.get(i), "PNG", new File("excerpt_" + (i + 1) + ".png"));
}
}
}
PageSelection.singlePage(0) dotyczy tylko pierwszej strony, co jest przydatne do wygenerowania miniatury okładki. PageSelection.pageRange(1, 4) wyodrębnia strony od drugiej do piątej przy użyciu indeksów zaczynających się od zera. Oba zwracają List<BufferedImage>, więc wzorzec pętli jest identyczny niezależnie od liczby wybranych stron.
PageSelection są liczone od zera: pierwsza strona to 0, druga to 1 i tak dalej. Przekroczenie indeksu poza zakres powoduje wygenerowanie błędu IndexOutOfBoundsException w czasie wykonywania.Jakie sa nastepne kroki konwersji PDF do obrazow w Java?
Ten przewodnik omowil trzy typowe wzorce: konwersje wszystkich stron istniejacego pliku PDF, przechwycenie URL jako zestaw obrazow stron oraz wyodrebnienie określonego zakresu stron. IronPDF obsługuje kontrolę rozdzielczości i wybór formatu za pomocą ToImageOptions i ImageIO, dzięki czemu kod wywołujący jest krótki i przewidywalny.
Aby kontynuowac budowanie z IronPDF dla Java, zbadz te powiazane zasoby:
- Przyklady rastrowania Java - dodatkowe przyklady kodu PDF do obrazu
- Wyodrebnij obrazy i tekst z PDF - pobierz osadzone obrazy z istniejacych plikow PDF
- Kompresuj pliki PDF w Java - zmniejsz rozmiar pliku przed przechowaniem lub przesylaniem
- Dostosowane znaki wodne - oznacz obrazy wyjsciowe lub pliki PDF znakiem wodnym przed zapisaniem
- Dokumentacja IronPDF dla Java - kompletne odniesienie API i przewodniki ustawien
IronPDF dla Java jest darmowe do rozwoju. Licencja jest wymagana do wdrozenia komercyjnego. Rozpocznij bezplatna wersje probna lub zobacz opcje licencjonowania, aby zobaczyc, jaki plan pasuje do twojego projektu.
Gotowy, aby zobaczyć, co jeszcze potrafi IronPDF? Sprawdz pelna Strone z tutorialami IronPDF dla Java.
Często Zadawane Pytania
Jak przekonwertować plik PDF do obrazów PNG w Javie?
Załaduj PDF używając PdfDocument.fromFile(), wywołaj toBufferedImages() i uzyskaj listę obiektów BufferedImage reprezentujących każdą stronę, a następnie użyj ImageIO.write(), aby zapisać każdy obraz jako plik PNG.
Jakie formaty obrazów są obsługiwane przy konwertowaniu stron PDF?
Metoda toBufferedImages firmy IronPDF zwraca obiekty BufferedImage. Możesz je zapisać w każdym formacie obsługiwanym przez klasę ImageIO Java, w tym PNG, JPEG i TIFF.
Czy mogę przekonwertować tylko konkretne strony PDF na obrazy?
Tak. Przekaż argument PageSelection do toBufferedImages. Użyj PageSelection.singlePage(0), aby przekonwertować jedną stronę lub PageSelection.pageRange(1, 4), aby przekonwertować zakres. Indeksy stron są zeropodstawowe.
Jakie są typowe zastosowania konwersji PDF na obrazy w Java?
Typowe zastosowania to generowanie miniatur podglądowych dla systemów zarządzania dokumentami, tworzenie zrzutów ekranowych poziomu strony dla aplikacji internetowych, ekstrakcja treści wizualnej do prezentacji i archiwizacja dokumentów jako pliki obrazów dla systemów, które nie obsługują renderowania PDF.
Jak dodać IronPDF do mojego projektu Maven?
Dodaj poniższą zależność w bloku swojego pom.xml:
Czy mogę bezpośrednio konwertować URL na pliki obrazów?
Tak. Wywołaj PdfDocument.renderUrlAsPdf(url), aby wyrenderować stronę przy użyciu wbudowanego silnika Chromium, a następnie przekazuj wynikowy PdfDocument do toBufferedImages, aby uzyskać listę obrazów stron.
Jak kontrolować rozdzielczość wyjściowego obrazu?
Utwórz instancję ToImageOptions, wywołaj setImageMaxHeight() i setImageMaxWidth(), aby ustawić maksymalne wymiary, a następnie przekaż to jako pierwszy argument do toBufferedImages. IronPDF zachowuje proporcje i nie rozciąga obrazu.








