HTML do PDF w Java
IronPDF for Java daje deweloperom bezpośrednią drogę od treści HTML do wyniku w formacie PDF bez potrzeby nauki oddzielnego API układu. Biblioteka renderuje HTML, CSS i JavaScript w taki sam sposób, jak robi to nowoczesna przeglądarka, więc wynikowy PDF odpowiada temu, co widać na ekranie. Ten kurs obejmuje instalację, trzy główne metody konwersji HTML do PDF oraz opcje formatowania, w tym nagłówki, stopki, rozmiar strony i niestandardowe marginesy.
Kurs wykorzystuje IronPDF for Java. Równoległy przewodnik obejmujący wersję .NET jest dostępny w kursie konwersji HTML na PDF dla .NET. IronPDF jest również dostępny dla Python i Node.js.
Quickstart: Konwertuj HTML na plik PDF
Najkrótsza droga do PDF z ciągu HTML to trzy linijki kodu Java:
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
Rozpocznij używanie IronPDF w swoim projekcie już dziś dzięki darmowej wersji próbnej.
Spis treści
- Instalacja
- Konwersja HTML do PDF
- Opcje formatowania PDF
- Kolejne kroki
Jak dodać IronPDF do projektu Maven w Java?
Dodanie IronPDF do projektu Maven wymaga dwóch wpisów w bloku zależności projektu pom.xml. Pierwszy pobiera bibliotekę IronPDF; druga dodaje dostawcę logowania SLF4J, aby IronPDF mógł pisać komunikaty silnika podczas działania.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-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/format-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>
Artefakt ironpdf odnosi się do najnowszej wersji IronPDF for Java oraz dziennika zmian. Zależność slf4j-simple zapewnia podstawowy backend rejestrowania. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.
Po dodaniu obu wpisów uruchom mvn install z katalogu głównego projektu, aby pobrać artefakty. Maven resolves the dependency against Maven Central.
com.ironsoftware:ironpdf, aby potwierdzić numer najnowszej wersji przed dodaniem jej do pliku pom.xml.Jak ręcznie zainstalować JAR IronPDF w Java?
Projekty, które nie używają Maven lub innego menedżera zależności mogą dodać IronPDF przez pobranie JAR bezpośrednio i uwzględnienie go w ścieżce klas. Przejdź do strony pobierania IronPDF for Java i pobierz plik fat-JAR.
Fat-JAR zawiera wszystkie zależności, więc poza głównym artefaktem nie są wymagane dodatkowe wpisy ścieżki klas. Optionally download an SLF4J implementation JAR to enable logging.
Dodaj oba pliki JAR do ścieżki klasy projektu za pomocą panelu zarządzania bibliotekami w środowisku IDE lub określ wpisy -classpath podczas kompilacji i uruchamiania z terminala.
Jak zaimportować IronPDF do plików źródłowych Java?
Pakiet com.ironsoftware.ironpdf zawiera wszystkie komponenty do konwersji i przetwarzania. Umieść poniższe polecenie importu na górze każdego pliku Java, który wywołuje metody IronPDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
Dopuszczalny jest również import ukierunkowany, który wymienia konkretne klasy: import com.ironsoftware.ironpdf.PdfDocument;. Import uniwersalny jest wygodny podczas eksploracji.
Jak ustawić klucz licencyjny w IronPDF for Java?
IronPDF for Java jest darmowy do użycia bez klucza licencyjnego, ale aplikuje on kafelkowy znak wodny do wszystkich wygenerowanych lub zmodyfikowanych dokumentów PDF. Aby usunąć znak wodny, dostarcz ważny klucz licencyjny przed wywołaniem jakiejkolwiek metody konwersji lub manipulacji.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
Umieść wywołanie setLicenseKey podczas uruchamiania aplikacji, przed wywołaniem jakiejkolwiek metody PdfDocument. Zakup klucz licencyjny lub rozpocznij darmowy okres próbny, aby generować PDF bez znaków wodnych.
Ustawienie lokalizacji pliku dziennika (Opcjonalne)
Domyślnie IronPDF zapisuje komunikaty silnika do pliku o nazwie IronPdfEngine.log w katalogu głównym aplikacji. Aby zmienić ścieżkę pliku dziennika, należy wywołać Settings.setLogPath przed wykonaniem jakichkolwiek operacji na pliku PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
setLogPath musi poprzedzać wszystkie wywołania PdfDocument. Wywołanie go po rozpoczęciu konwersji nie ma wpływu na tę sesję.Jak skonwertować ciąg HTML na PDF w Java?
PdfDocument.renderHtmlAsPdf(String html) konwertuje dowolny poprawny kod HTML na dokument PDF. Metoda przyjmuje surowy ciąg znaków HTML i zwraca obiekt PdfDocument, który można zapisać, scalić lub dalej modyfikować.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
Silnik renderujący oparty jest na Chromium, więc każdy HTML, CSS lub JavaScript działający w Chrome zostanie poprawnie wyrenderowany w PDF. To obejmuje układy Flexbox, sieci CSS, czcionki webowe, SVG i wykresy napędzane JavaScriptem.
Przeciążona wersja tej metody przyjmuje drugi argument jako ścieżkę bazową: renderHtmlAsPdf(String html, String basePath). Ścieżka bazowa jest używana do rozwiązywania względnych odwołań do lokalnych arkuszy stylów, obrazów i skryptów.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
Ścieżka bazowa może wskazywać na katalog w lokalnym systemie plików lub na zdalny URL. IronPDF pobiera odwołane zasoby z tej lokalizacji podczas renderowania.
Aby przyjrzeć się bliżej tej metodzie, zobacz przykład kodu konwersji ciągu HTML na PDF.
Jak skonwertować URL na PDF w Java?
PdfDocument.renderUrlAsPdf(String url) pobiera stronę pod podanym adresem URL i renderuje pełny DOM (w tym wykonanie kodu JavaScript) przed zapisaniem wyniku w formacie PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
Silnik renderujący Chromium pobiera zewnętrzne arkusze stylów, czcionki i pliki JavaScript, więc wynikowy PDF precyzyjnie odzwierciedla wizualny stan strony. Ta metoda jest dobrze dostosowana do generowania raportów z pulpitów nawigacyjnych, archiwizacji publicznej treści internetowej lub konwersji wizualizacji danych, które zależą od renderowania po stronie klienta.
Zobacz dedykowany przykład konwersji URL na PDF po dodatkowe opcje takie jak niestandardowe nagłówki żądań i uwierzytelnianie.
Jak przekonwertować plik HTML na PDF w Java?
PdfDocument.renderHtmlFileAsPdf(String filePath) odczytuje plik HTML z lokalnego systemu plików i konwertuje go do formatu PDF. Metoda automatycznie rozwiązuje wszelkie odniesienia do zasobów względnych w pliku HTML względem katalogu pliku.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
Metoda poprawnie obsługuje projekty HTML złożone z wielu plików. W powyższym przykładzie, jeśli TestInvoice1.html odwołuje się do arkusza stylów w tym samym katalogu, IronPDF stosuje ten arkusz stylów podczas renderowania. Rezultatem jest PDF, który odpowiada wyglądowi renderowanemu przez przeglądarkę pliku źródłowego.
renderHtmlFileAsPdf z aplikacji serwerowej. Ścieżki względne są rozwiązywane względem katalogu roboczego JVM, który może różnić się od lokalizacji pliku HTML.Ta metoda jest szczególnie przydatna dla przepływów pracy generujących PDF-y, które utrzymują szablony HTML na dysku: generatory faktur, szablony raportów i systemy wyjścia formularzy to popularne przypadki użycia.
Jak ustawić rozmiar strony PDF i orientację w Java?
Rozmiar i orientacja strony są kontrolowane za pomocą klasy ChromePdfRenderOptions. Utwórz instancję ChromePdfRenderOptions, skonfiguruj właściwości i przekaż ją jako drugi argument do dowolnego wywołania renderHtmlAsPdf.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
PaperSize zawiera standardowe opcje, takie jak A4, Letter, Legal, A3 oraz A5. PaperOrientation akceptuje Portrait (domyślnie) lub Landscape.
W przypadku wymiarów niestandardowych należy użyć setCustomPaperSizeInMillimeters(double width, double height) lub setCustomPaperSizeInInches(double width, double height):
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
Pełną listę stałych PaperSize i opcji rozmiarów można znaleźć w przykładzie niestandardowego rozmiaru papieru PDF.
Jak ustawić niestandardowe marginesy w PDF w Java?
Rozmiary marginesów są również ustawiane za pomocą ChromePdfRenderOptions. Biblioteka udostępnia oddzielne metody set dla górnych, dolnych, lewych i prawych marginesów, przyjmując wartości w milimetrach.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
Ustawienie wszystkich marginesów na zero całkowicie usuwa puste przestrzenie, co jest przydatne dla projektów pełnoekranowych takich jak etykiety, certyfikaty czy układy graficzne.
0 wyłącza margines na tej krawędzi. Pamiętaj, że marginesy sterowników drukarek są odrębne od marginesów IronPDF, więc zawartość wypełniająca stronę od krawędzi do krawędzi może być przycięta podczas drukowania.Dla przykładowego kodu odwiedź przykład niestandardowych marginesów.
Jak dodać nagłówki i stopki do PDF w Java?
IronPDF obsługuje dwa rodzaje nagłówków i stopek: tekstowe (TextHeaderFooter) oraz oparte na HTML (HtmlHeaderFooter). Tekstowe nagłówki są szybkie do skonfigurowania; Nagłówki HTML obsługują pełne stylizowanie oraz obrazy.
Dodanie tekstowego nagłówka i stopki
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
Pola scalające {page}, {total-pages}, {date}, {time}, {url} oraz {html-title} są zastępowane w momencie renderowania wartościami specyficznymi dla danego dokumentu.
Dodanie HTML nagłówka
W przypadku nagłówków wymagających logo, kolorów marki lub złożonych układów należy użyć HtmlHeaderFooter:
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
Zobacz przykład kodu nagłówków i stopek dla dodatkowych opcji pól scalania i zachowania na wielu stronach.
Jak nałożyć znak wodny na PDF w Java?
IronPDF nakłada znaki wodne przez dodawanie treści HTML na istniejące strony PDF. To podejście daje pełną kontrolę nad pozycjonowaniem, przezroczystością i stylizacją.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
Metoda applyStamp akceptuje standardowy kod HTML/CSS. Zastosowanie półprzezroczystego koloru rgba dla tekstu zapewnia widoczność znaku wodnego bez zasłaniania treści dokumentu znajdującego się pod nim.
Dla znaków wodnych opartych na obrazach lub znaków wodnych stosowanych do określonych zakresów stron, zobacz przewodnik po znakach wodnych dla Java.
Jak skompresować plik PDF w Java?
Dla plików PDF zawierających obrazy, IronPDF może zmniejszyć rozmiar pliku poprzez zmniejszenie rozdzielczości osadzonych obrazów. Użyj compressImages w istniejącym PdfDocument.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
Parametr jakości to liczba całkowita od 1 do 100, gdzie 100 zachowuje pełną jakość obrazu, a niższe wartości zmniejszają rozmiar pliku kosztem wierności obrazu. Wartość od 60 do 80 zapewnia praktyczną równowagę między rozmiarem a jakością wizualną dla większości dokumentów biznesowych.
Zobacz przykład kompresji PDF dla więcej szczegółów dotyczących progów jakości obrazu.
Kolejne kroki
Ten samouczek obejmował trzy metody konwersji HTML na PDF (ciąg, URL i plik) wraz z określaniem rozmiaru strony, marginesów, nagłówków, stopek, znaków wodnych i kompresji. To są najczęstsze operacje formatowania PDF dla aplikacji serwerowych w Java.
Aby pójść dalej z IronPDF for Java:
- Przeglądaj przykłady kodu dla IronPDF for Java jako punkty startowe do kopiowania i wklejania
- Przeczytaj przykład ustawień generatora PDF dla opcji DPI, powiększenia i jakości renderowania
- Zobacz, jak wyciągnąć tekst i obrazy z istniejących PDF
- Naucz się, jak drukować PDF programowo z aplikacji Java
- Przejrzyj dokumentację API IronPDF for Java, aby zapoznać się z pełną listą metod
PdfDocument
Rozpocznij darmowy okres próbny aby generować PDFy bez znaków wodnych, lub zobacz opcje licencjonowania aby dodać IronPDF do projektu produkcyjnego.
Szybki dostęp do samouczka
Pobierz ten samouczek jako kod źródłowy Java
Pełny kod źródłowy HTML to PDF w Java dla tego samouczka jest dostępny do pobrania za darmo jako spakowany projekt IntelliJ.
PobierzZapoznaj się z tym samouczkiem na GitHubie
Kod źródłowy dla tego projektu jest dostępny na GitHub jako projekt IntelliJ IDEA, który może być również zaimportowany do Eclipse lub innych IDE Java.
IronPDF for Java przykłady formatowania PDFZobacz Dokumentację API
Przeglądaj dokumentację referencyjną API dla IronPDF for Java, obejmującą szczegóły wszystkich klas, metod, pól i wyliczeń w pakiecie com.ironsoftware.ironpdf.
Często Zadawane Pytania
Jak przekonwertować ciąg HTML na PDF w Java?
Użyj PdfDocument.renderHtmlAsPdf(String html) z biblioteki IronPDF dla Java. Przekaż swoje znaki HTML jako argument tekstowy, następnie wywołaj saveAs na zwróconym obiekcie PdfDocument, aby zapisać plik na dysku.
Jak dodać IronPDF do projektu Maven?
Dodaj artfakt com.ironsoftware:ironpdf do sekcji w pliku pom.xml. Dodaj również implementację SLF4J, taką jak org.slf4j:slf4j-simple, aby włączyć logowanie. Uruchom mvn install, aby pobrać oba artfakty.
Jak ustawić rozmiar strony PDF generowanej za pomocą IronPDF dla Java?
Utwórz obiekt ChromePdfRenderOptions i wywołaj setPaperSize(PaperSize.A4) (lub inna stała). Przekaż obiekt opcji jako drugi argument do renderHtmlAsPdf. Dla niestandardowych wymiarów użyj setCustomPaperSizeInMillimeters.
Jak dodać nagłówek i stopkę do PDF w Java?
Użyj TextHeaderFooter dla nagłówków i stopek tekstowych lub HtmlHeaderFooter dla pełnostylizowanej zawartości HTML. Skonfiguruj obiekt za pomocą tekstu lub HTML, ustawiaj na instancji ChromePdfRenderOptions używając setTextHeader lub setHtmlHeader, i przekaż opcje do metody renderowania.
Jak zastosować znak wodny do PDF za pomocą IronPDF dla Java?
Wywołaj applyStamp(String htmlFragment) na istniejącym PdfDocument. Przekaż ciąg HTML definiujący wygląd znaku wodnego, używając CSS position:absolute, transform:rotate i półprzezroczystego koloru rgba do nakładania tekstu bez zasłaniania zawartości poniżej.
Czy IronPDF dla Java może przekonwertować stronę internetową na PDF?
Tak. Wywołaj PdfDocument.renderUrlAsPdf(String url) z URL strony. IronPDF używa silnika renderowania Chromium, aby pobrać i wykonać stronę, w tym JavaScript, przed wygenerowaniem wyniku PDF.
Jak usunąć znak wodny IronPDF z generowanych plików PDF?
Wywołaj License.setLicenseKey("YOUR-LICENSE-KEY") przed jakąkolwiek operacją PDF. Znak wodny jest nakładany na PDF generowane bez ważnego klucza licencyjnego. Możesz uzyskać licencję lub darmowy klucz próbny na ironpdf.com/java/licensing/.
Jak skompresować plik PDF za pomocą IronPDF dla Java?
Załaduj PDF używając PdfDocument.fromFile, następnie wywołaj compressImages(int quality) z wartością od 1 do 100. Niższe wartości zmniejszają rozmiar pliku przez przekształcenie osadzonych obrazów na niższą rozdzielczość. Wywołaj saveAs do zapisania skompresowanego pliku.
Czy IronPDF dla Java obsługuje niestandardowe marginesy stron?
Tak. Użyj ChromePdfRenderOptions i wywołaj setMarginTop, setMarginBottom, setMarginLeft i setMarginRight z wartościami w milimetrach. Przekaż opcje do metody renderowania, aby zastosować marginesy.
Jakie wersje Java obsługuje IronPDF?
IronPDF dla Java wspiera Java 8 i nowsze. Biblioteka jest dostępna jako artfakt Maven pod com.ironsoftware:ironpdf i jako samodzielny fat-JAR do pobrania z ironpdf.com/java/.






