HTML do PDF w Java

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

IronPDF for Java przekształca treści HTML w dokładne dokumenty PDF używając tego samego silnika renderującego, który znajduje się w nowoczesnych przeglądarkach. Aplikacje Java mogą generować PDF-y z ciągów HTML, lokalnych plików HTML lub stron internetowych na żywo, bez potrzeby dodatkowego oprogramowania renderującego lub środowiska GUI.

Ten samouczek obejmuje wszystkie trzy metody konwersji HTML na PDF dostępne w IronPDF for Java, plus opcje instalacji, licencjonowania i konfiguracji. Programiści już używający IronPDF for .NET znajdą interfejs API Java znajomy; ekwiwalentny samouczek .NET jest dostępny pod Samouczek HTML to PDF dla .NET.

Zwróć uwagęIronPDF for Java wymaga Java 8 lub nowszej i jest kompatybilny z wszystkimi głównymi frameworkami JVM, w tym Spring Boot, Java EE i Micronaut.

Szybki start: Generuj PDF z HTML

Poniższy przykład tworzy jednostronicowy PDF z ciągu HTML i zapisuje go na dysku. Po zainstalowaniu biblioteki przez Maven (Krok 1), to wszystko, co jest wymagane w kodzie:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
JAVA

Rozpocznij używanie IronPDF w swoim projekcie już dziś dzięki darmowej wersji próbnej.

Pierwszy krok:
green arrow pointer

Spis treści


Jak zainstalować IronPDF w projekcie Java?

IronPDF for Java jest dostępny w repozytorium Maven Central. Rekomendowaną metodą instalacji jest Maven, chociaż ręczna instalacja JAR jest również wspierana dla projektów, które nie używają systemu budowania.

Zainstaluj jako zależność Maven

Dodaj następujące artefakty do sekcji dependencies w pliku pom.xml swojego projektu:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
XML

Pierwszy artefakt ściąga IronPDF. The second is an SLF4J logging implementation. IronPDF używa SLF4J do emitowania diagnostycznych wiadomości podczas renderowania; you can substitute it with Logback or Log4j 2, or omit logging entirely.

Uruchom mvn install w katalogu głównym projektu, aby pobrać zależności. Sprawdź najnowszą wersję IronPDF przed przypięciem numeru wersji, ponieważ changelog zawiera wszystkie aktualne i przeszłe wydania.

Zainstaluj JAR ręcznie

Deweloperzy nie używający Maven mogą pobrać grubego JAR IronPDF bezpośrednio z Maven Central i dodać go do ścieżki klas projektu. Gruby JAR pakuje wszystkie przechodnie zależności.

PoradyMaven jest zalecaną metodą dla nowych projektów. Instalacja JAR wymaga ręcznego zarządzania zależnościami i może prowadzić do konfliktów wersji w większych projektach.

Zaimportuj pakiet IronPDF

Wszystkie klasy do renderowania i manipulacji plikami PDF znajdują się w pakiecie com.ironsoftware.ironpdf. Dodaj to stwierdzenie importu do dowolnego pliku źródłowego Java, który używa IronPDF:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
JAVA

Ustaw klucz licencyjny

Bez klucza licencji, IronPDF renderuje PDF-y z znakami wodnymi rozmieszczonymi w kafelkowy sposób na każdej stronie. Aby usunąć znak wodny, przed wywołaniem dowolnej metody renderowania należy przekazać prawidłowy klucz licencyjny do License.setLicenseKey:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Umieść to wywołanie podczas uruchomienia aplikacji, przed uruchomieniem jakiejkolwiek logiki generowania PDF. Rozpocznij darmowy okres próbny aby uzyskać klucz próbny lub zobacz opcje licencjonowania do użycia produkcyjnego.

Skonfiguruj ścieżkę pliku dziennika

IronPDF zapisuje diagnostykę renderowania w pliku dziennika o nazwie IronPdfEngine.log w katalogu roboczym aplikacji. Zadzwoń pod numer Settings.setLogPath, aby zmienić nazwę lub lokalizację pliku:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
JAVA

WażnePrzed rozpoczęciem jakiejkolwiek konwersji lub obróbki pliku PDF należy wywołać Settings.setLogPath. Wywołania dokonywane po rozpoczęciu renderowania nie będą miały efektu.

Jak przekonwertować ciąg HTML na PDF w Java?

PdfDocument.renderHtmlAsPdf konwertuje ciąg HTML na obiekt PdfDocument, który następnie można zapisać na dysku lub przekazać do innych metod przetwarzania. Ta metoda akceptuje dowolny kod HTML zgodny ze standardem W3C, w tym pełne znaczniki stron z elementami <head> i <body>.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA
PDF output showing a rendered H1 heading generated from an HTML string using PdfDocument.renderHtmlAsPdf

Metoda PdfDocument.renderHtmlAsPdf renderuje oznaczenia HTML do PDF, zachowując wszystkie zgodne z W3C stylizacje i struktury.

Metoda zwraca instancję PdfDocument. Wywołaj saveAs, aby zapisać plik PDF na dysku, lub użyj getBinaryData, aby pobrać surowe bajty pliku PDF do strumieniowania lub przechowywania.

renderHtmlAsPdf przetwarza całą zawartość HTML, CSS i JavaScript w taki sam sposób, jak robi to przeglądarka zgodna ze standardami. Powstały PDF odzwierciedla dokładnie, jak wyglądałaby strona podczas przeglądania w Chrome.

Dla więcej szczegółów na temat tej metody, zobacz przykład kodu HTML string to PDF na stronie z przykładami Java IronPDF.

Jak załadować lokalne zasoby w ciągu HTML?

HTML często referuje zasoby zewnętrzne (arkusze stylów, obrazy, skrypty) przez ścieżkę względną. renderHtmlAsPdf akceptuje opcjonalny drugi argument, który ustawia ścieżkę bazową do rozpoznawania tych odwołań. Ścieżka podstawowa może wskazywać na lokalny katalog lub na URL.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
JAVA
PDF output displaying an invoice with styled layout, logo image, and CSS formatting applied from local assets

Gdy ścieżka podstawowa jest dostarczona, renderHtmlAsPdf rozwiązuje odwołania do zasobów względnych z tego katalogu, tworząc pełni stylizowany PDF.

Argument ścieżki podstawowej działa z zarówno absolutnymi ścieżkami systemu plików, jak i ciągami URL. Dzięki temu renderHtmlAsPdf nadaje się do generowania plików PDF z szablonów przechowywanych na dysku lub udostępnianych z serwera internetowego.

PoradyŚcieżki wykorzystujące odwrotne ukośniki w stylu Windows (C:\invoices\) powinny zostać zamienione na ukośniki lub należy użyć Paths.get() w celu zapewnienia kompatybilności między platformami.

Jak przekonwertować URL na PDF w Java?

PdfDocument.renderUrlAsPdf pobiera aktualną stronę internetową pod podanym adresem URL i renderuje ją jako plik PDF. Metoda ładuje całą stronę, w tym wszystkie zewnętrzne CSS, JavaScript i obrazy, przed renderowaniem.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
JAVA
PDF output of the Wikipedia article on PDF format, showing the page layout and content rendered by PdfDocument.renderUrlAsPdf

Metoda PdfDocument.renderUrlAsPdf przechwytuje pełny renderowany stan strony internetowej, w tym treści renderowane przez JavaScript.

renderUrlAsPdf czeka na zakończenie wykonywania kodu JavaScript przed przechwyceniem wyrenderowanej strony, co oznacza, że dynamicznie generowana zawartość (taka jak wykresy lub dane ładowane za pomocą AJAX) pojawi się w wyjściowym pliku PDF.

Dla ekwiwalentnej implementacji .NET lub dodatkowych opcji URL na PDF, zobacz przykład konwersji URL na PDF.

Jak przekonwertować plik HTML na PDF w Java?

PdfDocument.renderHtmlFileAsPdf odczytuje lokalny plik HTML i renderuje go jako plik PDF. Wszystkie ścieżki względne odwołujące się w pliku HTML (arkusze stylów, obrazy, skrypty) są rozwiązywane względnie do katalogu pliku HTML.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

To podejście działa dobrze dla generacji dokumentów na podstawie szablonów: szablony faktur, raportów lub certyfikatów przechowywane jako pliki HTML wraz z powiązanymi zasobami CSS i obrazami. IronPDF renderuje plik z taką samą dokładnością jak przeglądarka, zachowując wszystkie reguły układu CSS.

Zwróć uwagęŚcieżka pliku HTML musi być absolutna. Ścieżki względne przekazane do renderHtmlFileAsPdf są rozpoznawane z katalogu roboczego JVM, co może powodować nieoczekiwane wyniki w środowiskach serwerowych.

Jak dostosować ustawienia wyjściowe PDF?

Klasa PdfRenderOptions kontroluje układ strony i sposób renderowania. Utwórz instancję PdfRenderOptions, skonfiguruj wymagane właściwości i przekaż ją do dowolnej metody renderowania.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
JAVA

Klasa PdfRenderOptions udostępnia dodatkowe właściwości do sterowania DPI, szerokością okna wyświetlania, orientacją papieru oraz wartościami limitu czasu. Zobacz przykład kodu ustawień generowania PDF dla pełnej listy dostępnych opcji.

Jak dodać nagłówki i stopki do PDF?

IronPDF obsługuje zarówno oparte na tekście, jak i oparte na HTML nagłówki i stopki. Nagłówki tekstowe używają zdefiniowanych wcześniej pól scalania dla powszechnych wartości, takich jak numery stron i tytuły dokumentów; Nagłówki HTML akceptują dowolne oznaczenia HTML dla w pełni dostosowanych układów.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
JAVA

Pola scalania {page} i {total-pages} są zastępowane w momencie renderowania bieżącym numerem strony i całkowitą liczbą stron. W przypadku bardziej zaawansowanych układów, takich jak stopka z logo firmy, należy użyć HtmlHeaderFooter zamiast TextHeaderFooter.

Dla pełnych szczegółów na temat opartych na HTML nagłówków i stopek, zobacz przykład kodu dodawania nagłówków i stopek.

PoradyNagłówki i stopki są renderowane wewnątrz marginesów strony. Zwiększ górny lub dolny margines przed zastosowaniem nagłówków lub stopek, aby zapobiec nakładaniu się z treścią strony.

Jak ustawić niestandardowe marginesy i rozmiar strony?

Rozmiar strony i marginesy są konfigurowane w obiekcie PdfRenderOptions przed renderowaniem pliku PDF. IronPDF obsługuje standardowe rozmiary papieru (A4, Letter, Legal) i w pełni niestandardowe wymiary.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
JAVA

Dla pełnej listy obsługiwanych rozmiarów papieru i jednostek, zobacz przykład kodu niestandardowego rozmiaru papieru oraz przykład kodu niestandardowych marginesów.

Jak dodać znak wodny do PDF?

PdfDocument.applyWatermark nakłada tekstowy lub graficzny znak wodny na każdą stronę dokumentu. Znacznik wodny jest domyślnie wyświetlany na osobnej warstwie poniżej treści strony lub powyżej niej, gdy flaga isStampBehind jest ustawiona na false.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
JAVA

Podejście HTML daje precyzyjną kontrolę nad stylem znaku wodnego, w tym czcionką, rozmiarem, kolorem i przezroczystością. Dla zaawansowanych konfiguracji znaku wodnego, takich jak powtarzające się wzory kafelkowe lub oparte na obrazach pieczęci, zobacz poradnik dotyczący znaku wodnego.

Jak wyodrębnić tekst z PDF w Javie?

PdfDocument.extractAllText odczytuje treść tekstową osadzoną w pliku PDF i zwraca ją jako pojedynczy String. Ta metoda wyodrębnia wybieralny tekst ze wszystkich stron w dokumencie.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
JAVA

Wyodrębnianie tekstu działa w plikach PDF, gdzie tekst jest przechowywany jako wybieralne glify. Dla plików PDF będących skanami obrazów, rozważ sparowanie IronPDF z biblioteką OCR, aby wyodrębnić tekst z renderowanych obrazów stron.

Zobacz przykład kodu wyodrębniania tekstu z PDF dla dodatkowych opcji, w tym wyodrębniania tekstu na stronę.

Jak wyodrębnić obrazy z PDF w Javie?

PdfDocument.extractAllImages zwraca listę obiektów BufferedImage, po jednym dla każdego obrazu osadzonego w pliku PDF. Zwrócone obrazy mogą być zapisane bezpośrednio na dysk lub przekazane do dalszego przetwarzania obrazów.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
JAVA

Dla więcej opcji wyodrębniania, w tym wyodrębniania obrazów z określonych stron, zobacz przykład kodu wyodrębniania obrazu z PDF.

Jak skompresować plik PDF?

PdfDocument.compressImages zmniejsza rozmiar pliku PDF poprzez ponowne kodowanie osadzonych obrazów w niższej jakości. Metoda akceptuje wartość jakości od 1 (minimalna jakość, najmniejszy plik) do 100 (maksymalna jakość).

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
JAVA

Kompresja obrazów jest najskuteczniejszym sposobem na zmniejszenie rozmiaru plików PDF zawierających fotografie lub grafiki o wysokiej rozdzielczości. Dla dodatkowych strategii redukcji rozmiaru plików, takich jak usuwanie osadzonych czcionek, zobacz przykład kodu kompresji PDF.

PoradyWartość jakości pomiędzy 40 a 70 zazwyczaj zapewnia dobrą równowagę pomiędzy redukcją rozmiaru pliku a jakością wizualną dla większości przypadków użycia PDF.

Jak programowo wydrukować PDF?

PdfDocument.print wysyła plik PDF do domyślnej drukarki systemu przy użyciu standardowego interfejsu API drukowania Java. Metoda akceptuje wartość logiczną, która kontroluje, czy pokazać okno dialogowe drukowania.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
JAVA

Przekaż true do metody print, aby wyświetlić systemowe okno dialogowe drukowania, umożliwiające użytkownikom wybór drukarki i skonfigurowanie ustawień drukowania przed wysłaniem zadania.

Kolejne kroki

Ten samouczek obejmował główne metody konwersji HTML na PDF w IronPDF for Java, wraz z instalacją, konfiguracją i powszechnymi operacjami przetwarzania dokumentów.

Więcej informacji:

  1. Przeglądaj pełny zestaw przykładów kodu HTML na PDF w Javie dla dodatkowych scenariuszy renderowania, które nie zostały tu omówione.
  2. Przeczytaj dokumentację IronPDF for Java, aby zrozumieć wdrażanie, bezpieczeństwo wątków i konfigurację serwera.
  3. Zbadaj kompletne IronPDF Java API reference dla szczegółowych sygnatur metod i opisów parametrów.

Rozpocznij bezpłatny okres próbny, aby generować PDF bez znaków wodnych, lub zobacz opcje licencyjne, aby znaleźć odpowiedni plan dla twojego projektu.


Szybki dostęp do samouczka

Logo IntelliJ IDEA IDE do rozwoju w Javie

Pobierz ten samouczek jako kod źródłowy Java

Pełny kod źródłowy HTML do PDF dla tego samouczka jest dostępny do pobrania jako skompresowany projekt IntelliJ.

Pobierz

Zapoznaj się z tym samouczkiem na GitHubie

Kod źródłowy tego projektu jest dostępny na GitHub jako projekt IntelliJ IDEA. Może być zaimportowany do innych popularnych IDE Java, w tym Eclipse i NetBeans.

Java HTML do PDF na GitHub
Logo GitHub dla repozytorium kodu źródłowego
Ikona dokumentacji referencyjnej API Java IronPDF

Zobacz Dokumentację API

Zbadaj referencje API Java IronPDF, obejmujące wszystkie przestrzenie nazw, klasy, metody i wyliczenia dostępne w bibliotece.

Zobacz Dokumentację API

Często Zadawane Pytania

Do czego służy IronPDF for Java?

IronPDF dla Java konwertuje zawartość HTML do dokumentów PDF w aplikacjach Java. Obsługuje konwersję ciągów HTML, lokalnych plików HTML i adresów URL stron internetowych na żywo oraz oferuje narzędzia do dodawania nagłówków i stopek, znaków wodnych, ekstrakcji tekstu, ekstrakcji obrazów i kompresji plików.

Jak zainstalować IronPDF w projekcie Java?

Dodaj dwie zależności Maven do pom.xml: com.ironsoftware:ironpdf i org.slf4j:slf4j-simple, a następnie uruchom mvn install. Alternatywnie pobierz gruby JAR z Maven Central i dodaj go do ścieżki klasy projektu.

Jak przekonwertować ciąg HTML na PDF w Java?

Wywołaj PdfDocument.renderHtmlAsPdf(htmlString) z twoimi znakami HTML. Metoda zwraca obiekt PdfDocument. Wywołaj pdf.saveAs("output.pdf") aby zapisać go na dysku.

Jak przekonwertować URL na PDF w Java?

Wywołaj PdfDocument.renderUrlAsPdf("https://example.com"). IronPDF pobiera stronę, czeka na wykonanie JavaScript, następnie renderuje w pełni załadowaną stronę jako PDF.

Jak przekonwertować lokalny plik HTML na PDF w Java?

Wywołaj PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html"). Użyj pełnej ścieżki pliku. IronPDF automatycznie rozwiązuje względne odwołania CSS i obrazów z katalogu pliku HTML.

Czy IronPDF dla Java dodaje znak wodny do generowanych PDF?

Bez klucza licencyjnego, IronPDF dodaje kafelkowy znak wodny do wszystkich generowanych PDF. Ustaw ważny klucz licencyjny za pomocą License.setLicenseKey("YOUR-KEY") przed jakimkolwiek wywołaniem renderowania, aby usunąć znak wodny.

Jaką wersję Java wymaga IronPDF?

IronPDF dla Java wymaga Java 8 lub nowszej. Jest kompatybilna z Spring Boot, Java EE, Micronaut i innymi oparciami na JVM.

Jak dodać numery stron do PDF w Java przy użyciu IronPDF?

Utwórz instancję TextHeaderFooter i wywołaj setRightText("{page} of {total-pages}"). Przekaż obiekt do pdf.addTextFooters(footer). Pola scalania są zamieniane przy renderowaniu na rzeczywiste numery stron.

Czy IronPDF dla Java może wyodrębnić tekst z PDF?

Tak. Załaduj plik PDF za pomocą PdfDocument.fromFile(Paths.get("file.pdf")), następnie wywołaj pdf.extractAllText() aby pozyskać cały wybieralny tekst jako ciąg znaków.

Jak mogę zmniejszyć rozmiar pliku PDF w Java?

Wywołaj pdf.compressImages(quality), gdzie jakość to liczba całkowita od 1 do 100. Wartość 60 zapewnia dobrą równowagę między rozmiarem pliku a wiernością obrazu dla większości PDF.

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.5 just released
Still Scrolling Icon

Wciąż przewijasz?

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