Jak tworzyć pliki PDF w Java
Tworzenie plików PDF w Java jest częstym wymaganiem dla aplikacji biznesowych: generowanie faktur i raportów na żądanie, produkcja certyfikatów, pokwitowań oraz dzienników audytów. IronPDF for Java konwertuje HTML do PDF za pomocą pełnego silnika renderującego Chromium, co oznacza, że każdy HTML5, CSS3 i JavaScript jest wiernie renderowany, bez utraty formatowania.
Ten przewodnik obejmuje trzy metody tworzenia PDF: z ciągu HTML, z lokalnego pliku HTML oraz z żywego URL. Obejmuje również formatowanie stron, ochronę hasłem i integrację z Spring Boot.
Krótki przewodnik: Tworzenie PDF z HTML w Java
- Dodaj IronPDF do swojego
pom.xml:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
- Zaimportuj bibliotekę i utwórz PDF:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
Jak utworzyć plik PDF w Java
- Zainstaluj bibliotekę IronPDF dla Java przez Maven lub Gradle
- Zaimportuj
com.ironsoftware.ironpdf.*i ustaw swój klucz licencyjny - Wywołaj
PdfDocument.renderHtmlAsPdf()z ciągiem HTML, aby utworzyć PDF w pamięci - Użyj
PdfDocument.renderHtmlFileAsPdf()do konwersji lokalnego pliku HTML na PDF - Wywołaj
pdf.saveAs(), aby zapisać gotowy dokument na dysku
Czym jest IronPDF for Java i dlaczego warto go używać?
IronPDF for Java to biblioteka do generowania i manipulacji plikami PDF zbudowana na silniku renderującym Chromium. Ponieważ renderuje HTML dokładnie tak, jak Chrome, radzi sobie z złożonymi układami, niestandardowymi czcionkami, animacjami CSS, treścią generowaną przez JavaScript i osadzonymi obrazami bez potrzeby ręcznego kodowania układu.
Biblioteka obejmuje cały cykl życia PDF w jednej zależności. Deweloperzy mogą tworzyć dokumenty od zera, konwertować istniejącą treść HTML, łączyć lub dzielić pliki, dodawać znaki wodne, szyfrować hasłami, wyodrębniać tekst i obrazy, oraz generować formularze wypełnialne, wszystko za pomocą spójnego API. Dla przepływów pracy opartych na HTML, IronPDF unika ręcznych obliczeń układu strony wymaganych przez niższopoziomowe biblioteki PDF, takie jak Apache PDFBox.
W odróżnieniu od iText, który wymaga otwartego licencjonowania AGPL na większość zastosowań komercyjnych, IronPDF dostarcza przyjazne komercjalizacyjne licencjonowanie i nie wymaga złożonej weryfikacji zgodności licencyjnej. IronPDF for Java jest dostarczane jako artefakt Maven i działa na Windows, Linux i macOS. Integruje się z Spring Boot, Jakarta EE oraz samodzielnymi aplikacjami Java. Biblioteka wspiera również wdrożenia serwerowe na AWS, Azure oraz Google Cloud.
Jakie są wymagania wstępne do używania IronPDF w Java?
Jaka wersja Java i jakie narzędzie do budowy są wymagane?
IronPDF for Java wymaga JDK 8 lub nowszego. Zalecanym minimum jest JDK 11 (LTS) do użytku produkcyjnego. Download the JDK from the Oracle download page or use an OpenJDK distribution such as Eclipse Temurin.
Maven (3.6+) i Gradle (7.0+) są oba wspierane. Maven jest bardziej powszechnym wyborem dla projektów Java w przedsiębiorstwie.
Jak dodać IronPDF do projektu Maven?
Otwórz plik pom.xml swojego projektu i dodaj następującą zależność w bloku <dependencies>:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
Po zapisaniu uruchom mvn install lub pozwól, aby Twoje środowisko IDE automatycznie rozwiązało zależność. Maven pobiera IronPDF z Maven Central, więc nie jest potrzebna konfiguracja prywatnego repozytorium.
Jak dodać IronPDF do projektu Gradle?
Dodaj następujący wiersz do bloku dependencies w pliku build.gradle:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/gradle-dependency.gradle
implementation 'com.ironsoftware:ironpdf:2024.9.1'
Uruchom gradle build, aby pobrać bibliotekę. Check Maven Central for the latest published version.
Jakie są wymagane importy i konfiguracja?
Dodaj te polecenia importu na początku swojego pliku źródłowego Java:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
Przed wygenerowaniem jakichkolwiek plików PDF należy ustawić klucz licencyjny w metodzie main lub podczas uruchamiania aplikacji:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
Uwagi: Bez ważnego klucza licencyjnego, pliki PDF są generowane z próbnym znakiem wodnym. Kup licencję lub rozpocznij bezpłatny okres próbny, aby ją usunąć. Zobacz używanie kluczy licencyjnych w Java dla dodatkowych opcji konfiguracji.
Jak utworzyć PDF z ciągu HTML w Java?
Przekaż dowolny ciąg HTML bezpośrednio do PdfDocument.renderHtmlAsPdf(). IronPDF zwraca instancję PdfDocument reprezentującą gotowy dokument w pamięci. Wywołaj saveAs(), aby zapisać to na dysku.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
renderHtmlAsPdf() obsługuje pełną specyfikację HTML5 i CSS3, w tym czcionki internetowe, Flexbox, układy siatki oraz wykonywanie kodu JavaScript. Poniższy przykład używa wieloliniowego szablonu HTML z niestandardowymi stylami:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
Przykład faktury powyżej używa bloków tekstowych Java (dostępnych od Java 13) dla czystszych wieloliniowych HTML. W przypadku starszych wersji Javy należy ręcznie połączyć ciąg HTML lub załadować go z pliku za pomocą renderHtmlFileAsPdf(). Dla ogólniejszego spojrzenia na konwersję HTML do PDF, w tym renderowanie JavaScript, zobacz HTML do PDF tutorial dla Java.
Jak utworzyć PDF z lokalnego pliku HTML w Java?
Użyj PdfDocument.renderHtmlFileAsPdf(), aby przekonwertować plik HTML przechowywany w lokalnym systemie plików. Przekaż ścieżkę jako ciąg; ścieżki względne są rozwiązywane względem bieżącego katalogu roboczego:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
IronPDF rozwiązuje wszystkie odwoływane zasoby (zewnętrzne pliki CSS, lokalne obrazy i biblioteki JavaScript) względem katalogu pliku HTML. To oznacza, że możesz zbudować kompletny szablon HTML z powiązanymi arkuszami stylów i uruchomić go przez IronPDF, nie modyfikując żadnych ścieżek zasobów.
Metoda akceptuje zarówno ścieżkę String, jak i obiekt java.nio.file.Path. Do użycia produkcyjnego preferuj ścieżki absolutne, aby uniknąć niejednoznaczności w ścieżkach roboczych. Zobacz przykład konwersji pliku HTML na PDF dla pełnego funkcjonującego przykładu.
Jak stworzyć PDF z URL strony internetowej w Java?
PdfDocument.renderUrlAsPdf() pobiera aktualny adres URL, renderuje go przy użyciu Chromium i zwraca plik PDF. Jest to przydatne do robienia zrzutów kokpitu, generowania paragonów PDF z hostowanych stron paragonów lub archiwizowania treści web:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
W przypadku stron wymagających uwierzytelnienia HTTP należy przekazać dane uwierzytelniające za pomocą ChromePdfRenderOptions:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
Zobacz przykład kodu konwersji URL na PDF dla szczegółów. Dla bardziej złożonych ścieżek logowania przy użyciu ciasteczek lub uwierzytelniania opartego na formularzach, zobacz obsługę logowania na stronach internetowych.
Jak kontrolować rozmiar strony, orientację i marginesy?
Użyj ChromePdfRenderOptions, aby dostosować układ fizyczny wyjściowego pliku PDF. Przekaż skonfigurowane opcje jako drugi argument do dowolnej metody renderowania. Najczęstsze ustawienia to orientacja strony, rozmiar papieru i marginesy:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
ChromePdfRenderOptions udostępnia ponad 30 ustawień wykraczających poza te pokazane powyżej, w tym DPI, limit czasu wykonywania JavaScript, współczynnik powiększenia oraz typ mediów CSS. Pełną listę można znaleźć w ustawieniach generowania plików PDF. Informacje na temat niestandardowych rozmiarów papieru, których nie ma w wyliczeniu PaperSize, można znaleźć w sekcji niestandardowych rozmiarów papieru w plikach PDF.
Jak dodać ochronę hasłem do PDF w Java?
SecurityOptions kontroluje hasła do odczytu i hasła właściciela, a także flagi uprawnień. Przed zapisaniem dokumentu należy przekazać SecurityOptions do SecurityManager:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
Dla ściślejszej kontroli, ustaw hasło właściciela i ogranicz konkretne operacje:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
Otwieranie PDF wyświetla monit, aby wprowadzić hasło:
Po wprowadzeniu poprawnego hasła PDF otwiera się i wyświetla pełną treść:
Zobacz ustawienia bezpieczeństwa i metadanych dla pełnej listy flag uprawnień.
Jak generować PDF w aplikacji Spring Boot?
IronPDF integruje się bezpośrednio z Spring Boot. Zwróć PDF jako odpowiedź HTTP w postaci tablicy bajtów z dowolnej metody kontrolera; ten wzorzec działa do generowania raportów na żądanie, pobierania faktur i eksportów danych.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
Metoda getBinaryData() zwraca plik PDF jako tablicę bajtów, którą Spring Boot przesyła bezpośrednio do klienta. Na dysk nie są zapisywane żadne pliki tymczasowe. W przypadku wdrożeń o dużej przepustowości należy instancjonować License.setLicenseKey() w metodzie @PostConstruct lub w słuchaczu uruchamiania aplikacji, a nie dla każdego żądania.
Jakie są następne kroki do tworzenia PDF w Java?
Przewodnik ten pokazał cztery podejścia do generowania PDF w Java przy użyciu IronPDF: renderowanie ciągu HTML, konwersja lokalnego pliku, przechwytywanie URL oraz strumieniowanie odpowiedzi HTTP w Spring Boot. Wszystkie metody korzystają z tego samego interfejsu API PdfDocument, ChromePdfRenderOptions do kontroli formatowania oraz SecurityOptions do ochrony dostępu.
IronPDF for Java obsługuje również dodawanie i nakładanie znaków wodnych, łączenie wielu plików PDF, dzielenie PDF na pojedyncze strony, dodawanie podpisów cyfrowych, renderowanie wykresów JavaScript do PDF oraz drukowanie PDF programowo.
Rozpocznij darmowy okres próbny aby generować PDF bez znaków wodnych lub zobacz opcje licencjonowania, aby wybrać plan pasujący do twojego projektu. Gotowy na więcej? Sprawdź pełną stronę samouczka IronPDF dla Java.
Często Zadawane Pytania
Jak utworzyć PDF z ciągu HTML w Java?
Przekaż swój ciąg HTML do PdfDocument.renderHtmlAsPdf(). Metoda zwraca obiekt PdfDocument w pamięci. Wywołaj pdf.saveAs(Paths.get("output.pdf")), aby zapisać go na dysku. IronPDF obsługuje pełne HTML5, CSS3 i JavaScript.
Jaką wersję Java wymaga IronPDF?
IronPDF for Java wymaga JDK 8 lub wyższej. JDK 11 LTS jest zalecanym minimum dla wdrożeń produkcyjnych.
Jak dodać IronPDF do projektu Maven?
Dodaj blok zależności z groupId com.ironsoftware i artifactId ironpdf wewnątrz sekcji w swoim pliku pom.xml, a następnie uruchom mvn install.
Jak utworzyć PDF z lokalnego pliku HTML w Java?
Wywołaj PdfDocument.renderHtmlFileAsPdf() z ścieżką do swojego pliku HTML. IronPDF automatycznie rozwiązuje wszystkie powiązane CSS, obrazy i JavaScript względem katalogu pliku.
Czy mogę utworzyć PDF z adresu URL w Java?
Tak. Wywołaj PdfDocument.renderUrlAsPdf() z docelowym adresem URL. IronPDF pobiera stronę używając Chromium i zwraca PdfDocument. W przypadku stron za tożsamością HTTP, przekaż dane uwierzytelniające przez ChromePdfRenderOptions.
Jak chronić PDF hasłem w Java za pomocą IronPDF?
Utwórz obiekt SecurityOptions, wywołaj setUserPassword() z hasłem, a następnie przekaż opcje do urlPdf.getSecurity().setSecurityOptions() przed wywołaniem saveAs().
Jak używać IronPDF w aplikacji Spring Boot?
Wstrzykuj logikę generowania PDF do metody @RestController. Wywołaj PdfDocument.renderHtmlAsPdf(), a następnie użyj pdf.getBinaryData(), aby uzyskać tablicę bajtów i zwrócić ją jako ResponseEntity z MediaType.APPLICATION_PDF.
Jak ustawić rozmiar i orientację strony w IronPDF for Java?
Utwórz obiekt ChromePdfRenderOptions, wywołaj setPaperSize() i setPaperOrientation(), następnie przekaż go jako drugi argument do dowolnej metody renderowania. Ustaw najpierw rozmiar papieru przed orientacją, aby uniknąć konfliktów kolejności.
Czy IronPDF działa na Linux i macOS dla Java?
Tak. IronPDF for Java działa na Windows, Linux i macOS. Wspiera także wdrożenia w chmurze na AWS, Azure i Google Cloud, bez potrzeby zewnętrznego przeglądarki PDF lub silnika renderowania.
Czy pliki PDF będą mieć znak wodny bez klucza licencyjnego?
Tak. Bez ważnego klucza licencyjnego IronPDF dodaje próbny znak wodny do wszystkich wygenerowanych dokumentów. Wywołaj License.setLicenseKey() z ważnym kluczem przy uruchomieniu aplikacji, aby go usunąć.




