Jak dynamicznie generować pliki PDF z aplikacji Java
W tym samouczku wyjaśniono, jak dynamicznie tworzyć pliki PDF w aplikacjach Java, oraz omówiono przykłady kodu służącego do tworzenia stron PDF na podstawie tekstu, adresów URL i stron HTML. Następnie omówione zostanie tworzenie pliku PDF chronionego hasłem na podstawie nowej instancji dokumentu.
Biblioteka IronPDF Java idealnie nadaje się do tego celu, ponieważ jest bezpłatna dla programistów, bezpieczniejsza, zapewnia wszystkie funkcje w jednej bibliotece ze 100% dokładnością i działa wyjątkowo dobrze.
Zanim przejdziemy dalej, zapoznajmy się pokrótce z IronPDF.
Jak dynamicznie generować pliki PDF z aplikacji Java
- Zainstaluj bibliotekę Java, aby dynamicznie generować pliki PDF
- Utwórz plik PDF z niestandardowego ciągu znaków HTML
- Generowanie pliku PDF z pliku HTML o złożonym stylu CSS
- Użyj linku URL, aby wygenerować plik PDF z opcją dodania nagłówka i stopki w Javie
- Zabezpiecz dynamicznie generowane pliki PDF hasłem
IronPDF
IronPDF Java Library to najpopularniejsza biblioteka Java do obsługi plików PDF, opracowana przez firmę Iron Software w celu tworzenia plików PDF, edycji nowych plików oraz manipulowania istniejącymi plikami PDF. Został zaprojektowany tak, aby był kompatybilny z szeroką gamą języków JVM, w tym Java, Scala i Kotlin, i może działać na wielu platformach, w tym Windows, Linux, Docker, Azure i AWS. IronPDF współpracuje z popularnymi środowiskami IDE, takimi jak IntelliJ IDEA i Eclipse.
Główne funkcje obejmują możliwość tworzenia plików PDF z dokumentów HTML, HTTP, JavaScript, CSS, XML oraz różnych formatów obrazów. Ponadto IronPDF oferuje możliwość dodawania nagłówków i stopek, tworzenia tabel w plikach PDF, dodawania podpisów cyfrowych, załączników, wdrażania haseł oraz funkcji zabezpieczeń. Obsługuje pełną wielowątkowość i wiele więcej!
Zacznijmy teraz od przykładów kodu służących do tworzenia dokumentów dynamicznych.
Przede wszystkim utwórz nowy projekt repozytorium Maven.
Utwórz nowy projekt Java
W celach demonstracyjnych w tym samouczku zostanie użyte środowisko IntelliJ IDE. Możesz użyć dowolnego środowiska IDE. Kroki tworzenia nowego projektu Java mogą się różnić w zależności od środowiska IDE. Wykonaj następujące kroki:
- Uruchom środowisko IntelliJ IDE.
- Wybierz Plik > Nowy > Projekt.
- Wpisz tytuł projektu.
- Wybierz lokalizację, język, system kompilacji i JDK.
- Kliknij przycisk Utwórz.
Utwórz projekt
Nadaj nazwę projektowi, wybierz lokalizację, język, system kompilacji i JDK, a następnie kliknij przycisk Utwórz. Zostanie utworzony nowy projekt.
Teraz zainstaluj IronPDF w tej demonstracyjnej aplikacji Java.
Zainstaluj bibliotekę IronPDF for Java
Kolejnym krokiem jest dodanie zależności w pliku pom.xml w celu zainstalowania IronPDF. Dodaj poniższy kod źródłowy XML do pliku pom.xml, jak pokazano poniżej.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
Zastąp INSERT_LATEST_VERSION_HERE najnowszą wersją IronPDF z repozytorium Maven.
Po dodaniu zależności skompiluj projekt. Aplikacja automatycznie zainstaluje bibliotekę z repozytorium Maven.
Zacznijmy od prostego przykładu konwersji ciągu znaków HTML na plik PDF.
Tworzenie dokumentów PDF
Rozważmy następujący przykład:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
W powyższej funkcji zawartość HTML jest przypisywana do zmiennej typu string. [Metoda](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String) renderHtmlAsPdf przyjmuje ciąg znaków jako argument i konwertuje zawartość HTML na instancję dokumentu PDF. [Metoda](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.nio.file.Path) saveAs przyjmuje ścieżkę lokalizacji jako dane wejściowe i zapisuje instancję pliku PDF w wybranym katalogu.
Poniżej znajduje się plik PDF wygenerowany przez wyżej wymieniony kod.
Wynik
Generowanie pliku PDF z pliku HTML
IronPDF oferuje również niesamowitą funkcję generowania plików PDF z plików HTML.
Poniżej znajduje się przykładowy plik HTML, który zostanie wykorzystany w przykładzie.
Renderowany kod HTML z nowym akapitem
Poniżej znajduje się przykładowy fragment kodu służący do generowania plików PDF:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
[Metoda](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String) [renderHtmlFileAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String) przyjmuje ścieżkę do pliku HTML jako argument i generuje dokument PDF na podstawie tego pliku. Plik PDF jest następnie zapisywany za pomocą metody saveAs na dysku lokalnym.
Poniżej znajduje się dokument wygenerowany przez ten program w formacie PDF.
Wynik w formacie PDF
Kolejnym krokiem jest użycie obszernego dokumentu HTML zawierającego JavaScript i CSS oraz sprawdzenie dokładności i spójności projektu podczas konwersji HTML do formatu PDF.
Generowanie plików PDF z plików HTML
Wykorzystana zostanie poniższa przykładowa strona HTML, zawierająca obrazy, animacje, stylizację, jQuery i Bootstrap.
Przykładowa strona HTML
Przykładowy kod HTML
Przykładowy dokument HTML pokazuje, że ma rozbudowaną stylistykę i zawiera grafiki. Ten plik HTML zostanie przekonwertowany na dokument PDF, a dokładność treści i stylistyki zostanie poddana ocenie.
Zostanie użyty ten sam fragment kodu z powyższego przykładu.
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Poprzedni przykład zawiera już wyjaśnienie kodu. Pozostała część pozostaje bez zmian;
Oto plik PDF z tłumaczeniem:
HTML do PDF
Tworzenie plików PDF za pomocą IronPDF jest dość proste. Format i treść dokumentu źródłowego są spójne.
Do utworzenia pliku PDF można również użyć adresu URL.
Konwersja adresu URL na dokument PDF
Poniższy przykład kodu wygeneruje plik PDF na podstawie adresu URL.
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
[Funkcja](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderUrlAsPdf(java.lang.String) renderUrlAsPdf przyjmuje adres URL jako argument i konwertuje go na dokument PDF. Ten dokument PDF jest następnie zapisywany na dysku lokalnym za pomocą funkcji saveAs.
Poniżej znajduje się plik PDF z tłumaczeniem:
Wynik w formacie PDF
Możliwe jest również dodanie znaku wodnego, nagłówka, stopki, podpisu cyfrowego, konwersja plików XML/stron JSP i wiele więcej.
Kolejnym krokiem jest wygenerowanie plików PDF chronionych hasłem.
Wygeneruj plik PDF chroniony hasłem
Poniższy przykładowy kod ilustruje dodawanie zabezpieczeń do wygenerowanego pliku PDF.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Powyższy kod ustawia plik PDF jako tylko do odczytu, więc nie można go edytować ani zmieniać wyrównania akapitów. Dokument jest również zabezpieczony przed drukowaniem, co uniemożliwia jego wydrukowanie. Ustawiono również hasło. Plik jest teraz bardzo bezpieczny. W ten sposób można zdefiniować różne uprawnienia do plików i generować dynamiczne dane wyjściowe za pomocą IronPDF.
Podsumowanie
W tym samouczku pokazano, jak generować pliki PDF. Plik PDF został utworzony na podstawie ciągu znaków HTML, pliku HTML oraz adresu URL, a przykłady obejmują zarówno proste, jak i złożone przypadki. Dostępnych jest wiele innych przydatnych funkcji, takich jak dodawanie znaku wodnego, stopki, nagłówka, koloru pierwszego planu, łączenie i dzielenie stron itp. Nie można ich wszystkich omówić w tym miejscu; Odwiedź oficjalną dokumentację IronPDF, aby dowiedzieć się więcej.
Dzięki IronPDF konwersja plików HTML do formatu PDF stała się dziecinnie prosta. HTML został przekonwertowany do formatu PDF za pomocą zaledwie jednej linii kodu. Do pliku PDF dodano również pewne zabezpieczenia. Jest on szybszy, dokładniejszy i bezpieczniejszy. Każdy wygenerowany plik PDF zawiera znak wodny IronPDF. Wynika to z faktu, że używana jest bezpłatna wersja deweloperska z ograniczonymi uprawnieniami, a nie licencja komercyjna. Można się go pozbyć, kupując bezpłatną wersję próbną lub pełną licencję, w zależności od potrzeb.
Często Zadawane Pytania
Jak mogę generować pliki PDF z HTML w Javie?
W Javie można generować pliki PDF z HTML, używając metody renderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML oraz metody renderHtmlFileAsPdf dla plików HTML.
Jakiej metody należy użyć, aby przekonwertować adres URL na plik PDF w Javie?
Aby przekonwertować adres URL na plik PDF w Javie, użyj metody renderUrlAsPdf biblioteki IronPDF, która pozwala w łatwy sposób tworzyć pliki PDF ze stron internetowych.
Jak zabezpieczyć plik PDF hasłem w Javie?
W Javie można zabezpieczyć plik PDF hasłem, używając IronPDF do skonfigurowania SecurityOptions, co obejmuje dodawanie haseł i zarządzanie uprawnieniami dla dokumentu PDF.
Czy IronPDF radzi sobie ze złożonymi arkuszami CSS podczas konwersji HTML do PDF?
Tak, IronPDF obsługuje złożone arkusze CSS podczas konwersji HTML do PDF, zapewniając, że stylizacja zostanie dokładnie odzwierciedlona w wygenerowanym dokumencie PDF.
Jakie są ograniczenia bezpłatnej wersji programistycznej IronPDF?
Bezpłatna wersja programistyczna IronPDF zawiera znak wodny na każdym wygenerowanym pliku PDF. Zakup licencji komercyjnej usuwa to ograniczenie.
Jakie dodatkowe funkcje oferuje IronPDF dla plików PDF?
IronPDF oferuje dodatkowe funkcje, takie jak dodawanie znaków wodnych, nagłówków, stopek oraz możliwość łączenia stron w plikach PDF.
Jakie kroki należy wykonać, aby skonfigurować IronPDF w nowym projekcie Java?
Aby skonfigurować IronPDF w nowym projekcie Java, zainstaluj bibliotekę za pomocą Mavena, a następnie zaimportuj niezbędne klasy do swojego projektu, aby rozpocząć generowanie plików PDF.
Czy mogę ograniczyć edycję i drukowanie pliku PDF wygenerowanego przez IronPDF?
Tak, IronPDF pozwala ograniczyć edycję, dodawanie adnotacji, drukowanie i wprowadzanie danych do formularzy poprzez zastosowanie określonych ustawień zabezpieczeń w dokumencie PDF.
Jakie platformy są obsługiwane przez IronPDF for Java?
IronPDF for Java obsługuje szeroki zakres platform, w tym Windows, Linux, Docker, Azure i AWS.
Gdzie mogę znaleźć szczegółową dokumentację dotyczącą korzystania z IronPDF w Javie?
Szczegółowa dokumentacja i przykłady wykorzystania IronPDF w Javie są dostępne na oficjalnej stronie IronPDF, która zawiera obszerne zasoby i przewodniki.





