# HTML do PDF w Java
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](/tutorials/html-to-pdf/).
[[i:(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.)]]
*as-heading:2(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:
```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");
```
!!!--LIBRARY_START_TRIAL_BLOCK--!!!
*as-heading:2(Spis treści)*
- [Jak zainstalować IronPDF w projekcie Java?](#install-maven)
- [Zainstaluj jako zależność Maven](#install-maven)
- [Zainstaluj JAR ręcznie](#install-jar)
- [Zaimportuj pakiet IronPDF](#import-package)
- [Ustaw klucz licencji](#set-license-key)
- [Skonfiguruj ścieżkę pliku dziennika](#set-log-path)
- [Jak przekonwertować ciąg HTML na PDF w Java?](#html-string-to-pdf)
- [Jak załadować lokalne zasoby w ciągu HTML?](#html-string-local-assets)
- [Jak przekonwertować URL na PDF w Java?](#url-to-pdf)
- [Jak przekonwertować plik HTML na PDF w Java?](#html-file-to-pdf)
- [Jak dostosować ustawienia wyjściowe PDF?](#customize-output)
- [Jak dodać nagłówki i stopki do PDF?](#headers-footers)
- [Jak ustawić niestandardowe marginesy i rozmiar strony?](#margins-page-size)
- [Jak dodać znak wodny do PDF?](#add-watermark)
- [Jak wyciągnąć tekst z PDF w Java?](#extract-text)
- [Jak wyciągnąć obrazy z PDF w Java?](#extract-images)
- [Jak skompresować plik PDF?](#compress-pdf)
- [Jak programowo drukować PDF?](#print-pdf)
- [Kolejne kroki](#next-steps)
!!!--LIBRARY_NUGET_INSTALL_BLOCK--!!!
---------------------
## 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` projektu:
```xml
//: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>
```
Pierwszy artefakt ściąga IronPDF. Drugi to implementacja logowania <a href="https://www.slf4j.org/" target="_blank" rel="nofollow noopener noreferrer">SLF4J</a>. IronPDF używa SLF4J do emitowania diagnostycznych wiadomości podczas renderowania; możesz go zastąpić <a href="https://logback.qos.ch/" target="_blank" rel="nofollow noopener noreferrer">Logback</a> lub <a href="https://logging.apache.org/log4j/2.x/" target="_blank" rel="nofollow noopener">Log4j 2</a>, lub całkowicie pominąć logowanie.
Uruchom `mvn install` w katalogu głównym projektu, aby pobrać zależności. Sprawdź [najnowszą wersję IronPDF](/java/product-updates/changelog/) 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](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) i dodać go do ścieżki klas projektu. Gruby JAR pakuje wszystkie przechodnie zależności.
[[t:(Maven 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 renderowania i manipulacji PDF są zawarte w pakiecie `com.ironsoftware.ironpdf`. Dodaj to stwierdzenie importu do dowolnego pliku źródłowego Java, który używa IronPDF:
```java
import com.ironsoftware.ironpdf.*;
```
### 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, przekaż prawidłowy klucz licencyjny do `License.setLicenseKey` przed wywołaniem jakiejkolwiek metody renderowania:
```java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
```
Umieść to wywołanie podczas uruchomienia aplikacji, przed uruchomieniem jakiejkolwiek logiki generowania PDF. [Rozpocznij darmowy okres próbny](#trial-license) aby uzyskać klucz próbny lub [zobacz opcje licencjonowania](#licensing) do użycia produkcyjnego.
### Skonfiguruj ścieżkę pliku dziennika
IronPDF zapisuje informacje diagnostyczne renderowania do pliku dziennika o nazwie `IronPdfEngine.log` w katalogu roboczym aplikacji. Wywołaj `Settings.setLogPath`, aby zmienić nazwę pliku lub jego lokalizację:
```java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
```
Wywołaj `Settings.setLogPath` przed wywołaniem jakiejkolwiek metody konwersji lub manipulacji PDF. 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 można następnie zapisać na dysk lub przekazać do innych metod przetwarzania. Ta metoda akceptuje dowolny zgodny z W3C HTML, w tym pełne znacznikowanie stron z elementami `<head>` i `<body>`.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-5.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-5.webp" alt="Wynik PDF przedstawiający wyrenderowany nagłówek H1 wygenerowany z ciągu HTML przy użyciu PdfDocument.renderHtmlAsPdf" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Metoda <code>PdfDocument.renderHtmlAsPdf</code> renderuje oznaczenia HTML do PDF, zachowując wszystkie zgodne z W3C stylizacje i struktury.</p>
</div>
</div>
Metoda zwraca instancję `PdfDocument`. Wywołaj `saveAs`, aby zapisać PDF na dysku, lub użyj `getBinaryData`, aby pobrać surowe bajty PDF do przesyłania strumieniowego lub przechowywania.
`renderHtmlAsPdf` przetwarza całą zawartość HTML, CSS i JavaScript w ten sam sposób, co 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](/java/examples/using-html-to-create-a-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ą dla tych odniesień. Ścieżka podstawowa może wskazywać na lokalny katalog lub na URL.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-24.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-24.webp" alt="Wynik PDF przedstawiający fakturę ze stylizowanym układem, obrazem logo i formatowaniem CSS zastosowanym z lokalnych zasobów" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Gdy ścieżka podstawowa jest dostarczona, <code>renderHtmlAsPdf</code> rozwiązuje odwołania do zasobów względnych z tego katalogu, tworząc pełni stylizowany PDF.</p>
</div>
</div>
Argument ścieżki podstawowej działa z zarówno absolutnymi ścieżkami systemu plików, jak i ciągami URL. To sprawia, że `renderHtmlAsPdf` nadaje się do generowania PDF-ów z szablonów przechowywanych na dysku lub serwowanych z serwera internetowego.
Ścieżki używające wstecznych ukośników w stylu Windows (`C:\invoices\`) powinny być konwertowane na ukośniki lub użyj `Paths.get()` dla zgodności międzyplatformowej.
## Jak przekonwertować URL na PDF w Java?
`PdfDocument.renderUrlAsPdf` pobiera aktualną stronę internetową pod podanym URL-em i renderuje ją jako PDF. Metoda ładuje całą stronę, w tym wszystkie zewnętrzne CSS, JavaScript i obrazy, przed renderowaniem.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-7.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-7.webp" alt="Wynik PDF artykułu Wikipedii o formacie PDF, przedstawiający układ strony i zawartość wyrenderowaną przez PdfDocument.renderUrlAsPdf" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Metoda <code>PdfDocument.renderUrlAsPdf</code> przechwytuje pełny renderowany stan strony internetowej, w tym treści renderowane przez JavaScript.</p>
</div>
</div>
`renderUrlAsPdf` czeka na zakończenie wykonywania JavaScript przed uchwyceniem renderowanej strony, co oznacza, że dynamicznie generowane treści (takie jak wykresy lub dane ładowane przez AJAX) pojawią się w wyjściowym PDF.
Dla ekwiwalentnej implementacji .NET lub dodatkowych opcji URL na PDF, zobacz [przykład konwersji URL na PDF](/java/examples/converting-a-url-to-a-pdf/).
## Jak przekonwertować plik HTML na PDF w Java?
`PdfDocument.renderHtmlFileAsPdf` odczytuje lokalny plik HTML i renderuje go jako 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.
```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");
```
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.
[[i:(Ścieżka pliku HTML musi być absolutna. Ścieżki względne przekazywane do `renderHtmlFileAsPdf` są rozwiązywane z katalogu roboczego JVM, co w środowiskach serwerowych może prowadzić do nieoczekiwanych rezultatów.
)]]
## Jak dostosować ustawienia wyjściowe PDF?
Klasa `PdfRenderOptions` kontroluje układ strony i zachowanie podczas renderowania. Utwórz instancję `PdfRenderOptions`, skonfiguruj wymagane właściwości i przekaż ją do którejkolwiek z metod renderowania.
```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");
```
Klasa `PdfRenderOptions` udostępnia dodatkowe właściwości do kontrolowania DPI, szerokości widoku, orientacji papieru i wartości czasu oczekiwania. Zobacz [przykład kodu ustawień generowania PDF](/java/examples/pdf-generation-settings/) 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.
```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");
```
Pola łączenia `{page}` i `{total-pages}` w czasie renderowania są zastępowane aktualnym numerem strony oraz całkowitą liczbą stron. Dla bardziej zaawansowanych układów, takich jak stopka z logotypem firmy, użyj `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](/java/examples/headers-and-footers/).
[[t:(Nagłó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 na obiekcie `PdfRenderOptions` przed renderowaniem PDF. IronPDF obsługuje standardowe rozmiary papieru (A4, Letter, Legal) i w pełni niestandardowe wymiary.
```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");
```
Dla pełnej listy obsługiwanych rozmiarów papieru i jednostek, zobacz [przykład kodu niestandardowego rozmiaru papieru](/java/examples/custom-pdf-paper-size/) oraz [przykład kodu niestandardowych marginesów](/java/examples/ironpdf-set-custom-margins/).
## Jak dodać znak wodny do PDF?
`PdfDocument.applyWatermark` stosuje tekstowy lub graficzny znak wodny do każdej strony dokumentu. Znak wodny domyślnie renderuje się na oddzielnej warstwie poniżej treści strony lub ponad nią, gdy flaga `isStampBehind` jest ustawiona na `false`.
```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");
```
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](/java/how-to/custom-watermark/).
## Jak wyodrębnić tekst z PDF w Javie?
`PdfDocument.extractAllText` odczytuje tekst wbudowany w PDF i zwraca go jako jeden `String`. Ta metoda wyodrębnia wybieralny tekst ze wszystkich stron w dokumencie.
```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);
```
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](/java/examples/extract-text-from-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`, jeden dla każdego obrazu osadzonego w PDF. Zwrócone obrazy mogą być zapisane bezpośrednio na dysk lub przekazane do dalszego przetwarzania obrazów.
```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).");
```
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](/java/examples/extract-image-from-pdf/).
## Jak skompresować plik PDF?
`PdfDocument.compressImages` zmniejsza rozmiar pliku PDF poprzez ponowne kodowanie osadzonych obrazów o niższej jakości. Metoda akceptuje wartość jakości od 1 (minimalna jakość, najmniejszy plik) do 100 (maksymalna jakość).
```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");
```
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](/java/examples/pdf-compression/).
[[t:(Wartość 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 PDF do domyślnej drukarki systemowej za pomocą standardowego API Javy do drukowania. Metoda akceptuje wartość logiczną, która kontroluje, czy pokazać okno dialogowe drukowania.
```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);
```
Przekaż `true` do metody `print`, aby wyświetlić systemowy dialog drukowania, pozwalając użytkownikom wybrać drukarkę i skonfigurować ustawienia druku 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](/java/examples/using-html-to-create-a-pdf/) dla dodatkowych scenariuszy renderowania, które nie zostały tu omówione.
2. Przeczytaj [dokumentację IronPDF for Java](/java/docs/), aby zrozumieć wdrażanie, bezpieczeństwo wątków i konfigurację serwera.
3. Zbadaj kompletne [IronPDF Java API reference](/java/object-reference/api/) dla szczegółowych sygnatur metod i opisów parametrów.
[Rozpocznij bezpłatny okres próbny](#trial-license), aby generować PDF bez znaków wodnych, lub [zobacz opcje licencyjne](#licensing), aby znaleźć odpowiedni plan dla twojego projektu.
<hr class="separator" />
#### Szybki dostęp do samouczka
<div class="tutorial-section">
<div class="row">
<div class="col-sm-4">
<div class="tutorial-image">
<img alt="Logo IntelliJ IDEA IDE do rozwoju w Javie" class="img-responsive add-shadow" src="/img/platforms/cps-intellij.svg" style="width: 160px;" />
</div>
</div>
<div class="col-sm-8">
<h3>Pobierz ten samouczek jako kod źródłowy Java</h3>
<p>Pełny kod źródłowy HTML do PDF dla tego samouczka jest dostępny do pobrania jako skompresowany projekt IntelliJ.</p>
<a class="btn btn-white3" href="https://github.com/iron-software/IronPdfJava.Examples/archive/refs/heads/master.zip"><i class="fa fa-cloud-download"></i>Pobierz</a>
</div>
</div>
</div>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Zapoznaj się z tym samouczkiem na GitHubie</h3>
<p>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.</p>
<a class="doc-link" href="https://github.com/iron-software/IronPdfJava.Examples/tree/main/tutorials/generate-pdfs" target="_blank">Java HTML do PDF na GitHub <i class="fa fa-chevron-right"></i></a>
</div>
<div class="col-sm-4">
<div class="tutorial-image">
<img alt="Logo GitHub dla repozytorium kodu źródłowego" class="img-responsive add-shadow" src="/img/svgs/github-icon.svg" />
</div>
</div>
</div>
</div>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-4">
<div class="tutorial-image">
<img style="max-width: 110px; width: 100px; height: 140px;" alt="Ikona dokumentacji referencyjnej API Java IronPDF" class="img-responsive add-shadow" src="/img/svgs/documentation.svg" width="100" height="140" />
</div>
</div>
<div class="col-sm-8">
<h3>Zobacz Dokumentację API</h3>
<p>Zbadaj referencje API Java IronPDF, obejmujące wszystkie przestrzenie nazw, klasy, metody i wyliczenia dostępne w bibliotece.</p>
<a class="doc-link" href="/java/object-reference/api/" target="_blank">Zobacz Dokumentację API <i class="fa fa-chevron-right"></i></a>
</div>
</div>
</div>
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:
import com.ironsoftware.ironpdf.*;// Apply your license key before any rendering callLicense.setLicenseKey("YOUR-LICENSE-KEY");// Render an HTML string to a PDF filePdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");pdf.saveAs("output.pdf");
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
Start using IronPDF in your project today with a free trial.
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 projektu:
Pierwszy artefakt ściąga IronPDF. Drugi to implementacja logowania SLF4J. IronPDF używa SLF4J do emitowania diagnostycznych wiadomości podczas renderowania; możesz go zastąpić Logback lub Log4j 2, lub całkowicie pominąć logowanie.
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.
Porady: Maven 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 renderowania i manipulacji PDF są zawarte w pakiecie com.ironsoftware.ironpdf. Dodaj to stwierdzenie importu do dowolnego pliku źródłowego Java, który używa IronPDF:
import com.ironsoftware.ironpdf.*;
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, przekaż prawidłowy klucz licencyjny do License.setLicenseKey przed wywołaniem jakiejkolwiek metody renderowania:
import com.ironsoftware.ironpdf.*;// Set the license key before any rendering callLicense.setLicenseKey("YOUR-LICENSE-KEY");
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
IronPDF zapisuje informacje diagnostyczne renderowania do pliku dziennika o nazwie IronPdfEngine.log w katalogu roboczym aplikacji. Wywołaj Settings.setLogPath, aby zmienić nazwę pliku lub jego lokalizację:
import com.ironsoftware.ironpdf.*;import java.nio.file.Paths;// Configure logging before calling any rendering methodsSettings.setLogPath(Paths.get("logs/ironpdf.log"));
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Java
Wywołaj Settings.setLogPath przed wywołaniem jakiejkolwiek metody konwersji lub manipulacji PDF. 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 można następnie zapisać na dysk lub przekazać do innych metod przetwarzania. Ta metoda akceptuje dowolny zgodny z W3C HTML, w tym pełne znacznikowanie stron z elementami <head> i <body>.
import com.ironsoftware.ironpdf.*;// Convert a simple HTML string to PDFPdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");// Save the resulting PDF to a filepdf.saveAs("htmlstring_to_pdf.pdf");
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
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ć PDF na dysku, lub użyj getBinaryData, aby pobrać surowe bajty PDF do przesyłania strumieniowego lub przechowywania.
renderHtmlAsPdf przetwarza całą zawartość HTML, CSS i JavaScript w ten sam sposób, co przeglądarka zgodna ze standardami. Powstały PDF odzwierciedla dokładnie, jak wyglądałaby strona podczas przeglądania w Chrome.
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ą dla tych odniesień. Ścieżka podstawowa może wskazywać na lokalny katalog lub na URL.
import com.ironsoftware.ironpdf.*;// HTML with references to local stylesheets and imagesString 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 pathsPdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");pdf.saveAs("invoice.pdf");
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
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. To sprawia, że renderHtmlAsPdf nadaje się do generowania PDF-ów z szablonów przechowywanych na dysku lub serwowanych z serwera internetowego.
Ścieżki używające wstecznych ukośników w stylu Windows (C:\invoices\) powinny być konwertowane na ukośniki lub użyj Paths.get() dla zgodności międzyplatformowej.
Jak przekonwertować URL na PDF w Java?
PdfDocument.renderUrlAsPdf pobiera aktualną stronę internetową pod podanym URL-em i renderuje ją jako PDF. Metoda ładuje całą stronę, w tym wszystkie zewnętrzne CSS, JavaScript i obrazy, przed renderowaniem.
import com.ironsoftware.ironpdf.*;// Render a live web page as a PDF documentPdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");pdf.saveAs("url_to_pdf.pdf");
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
Metoda PdfDocument.renderUrlAsPdf przechwytuje pełny renderowany stan strony internetowej, w tym treści renderowane przez JavaScript.
renderUrlAsPdf czeka na zakończenie wykonywania JavaScript przed uchwyceniem renderowanej strony, co oznacza, że dynamicznie generowane treści (takie jak wykresy lub dane ładowane przez AJAX) pojawią się w wyjściowym PDF.
PdfDocument.renderHtmlFileAsPdf odczytuje lokalny plik HTML i renderuje go jako 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.
import com.ironsoftware.ironpdf.*;// Convert a local HTML file to PDF// IronPDF resolves relative asset paths from the HTML file's directoryPdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");pdf.saveAs("htmlfile_to_pdf.pdf");
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 przekazywane do renderHtmlFileAsPdf są rozwiązywane z katalogu roboczego JVM, co w środowiskach serwerowych może prowadzić do nieoczekiwanych rezultatów.
Jak dostosować ustawienia wyjściowe PDF?
Klasa PdfRenderOptions kontroluje układ strony i zachowanie podczas renderowania. Utwórz instancję PdfRenderOptions, skonfiguruj wymagane właściwości i przekaż ją do którejkolwiek z metod renderowania.
import com.ironsoftware.ironpdf.*;import com.ironsoftware.ironpdf.render.*;// Configure rendering options before generating the PDFPdfRenderOptions options = newPdfRenderOptions();// Set the zoom level (100 = normal size)options.setZoom(100);// Wait for JavaScript to finish before renderingoptions.setJavascriptTimeout(5000);// Enable printing of background colors and imagesoptions.setPrintBackground(true);PdfDocument pdf = PdfDocument.renderHtmlAsPdf( "<h1>Customized PDF</h1>", options);pdf.saveAs("customized.pdf");
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 kontrolowania DPI, szerokości widoku, orientacji papieru i wartości czasu oczekiwania. 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.
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 fieldsTextHeaderFooter header = newTextHeaderFooter();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 footerTextHeaderFooter footer = newTextHeaderFooter();footer.setLeftText("Confidential");footer.setRightText("Generated by IronPDF");pdf.addTextHeaders(header);pdf.addTextFooters(footer);pdf.saveAs("report_with_headers.pdf");
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 łączenia {page} i {total-pages} w czasie renderowania są zastępowane aktualnym numerem strony oraz całkowitą liczbą stron. Dla bardziej zaawansowanych układów, takich jak stopka z logotypem firmy, użyj HtmlHeaderFooter zamiast TextHeaderFooter.
Porady: Nagłó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 na obiekcie PdfRenderOptions przed renderowaniem PDF. IronPDF obsługuje standardowe rozmiary papieru (A4, Letter, Legal) i w pełni niestandardowe wymiary.
import com.ironsoftware.ironpdf.*;import com.ironsoftware.ironpdf.render.*;import com.ironsoftware.ironpdf.page.*;PdfRenderOptions options = newPdfRenderOptions();// Set margins in millimeters: top, right, bottom, leftoptions.setMarginTop(25);options.setMarginRight(20);options.setMarginBottom(25);options.setMarginLeft(20);// Use A4 paper sizeoptions.setPaperSize(PaperSize.A4);PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);pdf.saveAs("formatted_document.pdf");
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");
PdfDocument.applyWatermark stosuje tekstowy lub graficzny znak wodny do każdej strony dokumentu. Znak wodny domyślnie renderuje się na oddzielnej warstwie poniżej treści strony lub ponad nią, gdy flaga isStampBehind jest ustawiona na false.
import com.ironsoftware.ironpdf.*;PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");// Apply an HTML watermark; supports full CSS stylingString 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 contentpdf.applyWatermark(watermarkHtml, 50, 45, true);pdf.saveAs("draft_watermarked.pdf");
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 tekst wbudowany w PDF i zwraca go jako jeden String. Ta metoda wyodrębnia wybieralny tekst ze wszystkich stron w dokumencie.
import com.ironsoftware.ironpdf.*;// Load an existing PDF from diskPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));// Extract all embedded text from the documentString text = pdf.extractAllText();System.out.println(text);
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.
PdfDocument.extractAllImages zwraca listę obiektów BufferedImage, jeden dla każdego obrazu osadzonego w PDF. Zwrócone obrazy mogą być zapisane bezpośrednio na dysk lub przekazane do dalszego przetwarzania obrazów.
import com.ironsoftware.ironpdf.*;import java.awt.image.BufferedImage;import java.io.File;import java.util.List;import javax.imageio.ImageIO;// Load an existing PDFPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));// Extract all embedded imagesList<BufferedImage> images = pdf.extractAllImages();for (int i = 0; i < images.size(); i++) {ImageIO.write(images.get(i), "PNG", newFile("extracted_image_" + i + ".png"));}System.out.println("Extracted " + images.size() + " image(s).");
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).");
PdfDocument.compressImages zmniejsza rozmiar pliku PDF poprzez ponowne kodowanie osadzonych obrazów o niższej jakości. Metoda akceptuje wartość jakości od 1 (minimalna jakość, najmniejszy plik) do 100 (maksymalna jakość).
import com.ironsoftware.ironpdf.*;// Load a large PDF with embedded imagesPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));// Compress images to 60% quality to reduce file sizepdf.compressImages(60);pdf.saveAs("large_report_compressed.pdf");
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.
Porady: Wartość 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 PDF do domyślnej drukarki systemowej za pomocą standardowego API Javy do drukowania. Metoda akceptuje wartość logiczną, która kontroluje, czy pokazać okno dialogowe drukowania.
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);
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ć systemowy dialog drukowania, pozwalając użytkownikom wybrać drukarkę i skonfigurować ustawienia druku 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.
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.
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 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ęczników.