Generowanie plików PDF za pomocą biblioteki Java (pełny przykład kodu)
W tym artykule omówimy bibliotekę IronPDF, doskonałe narzędzie do tworzenia plików PDF w języku Java.
IronPDF: biblioteka PDF dla języka Java
IronPDF to popularna biblioteka Java do obsługi plików PDF, która pozwala programistom w łatwy sposób tworzyć dokumenty PDF, formularze PDF, podpisywać cyfrowo pliki PDF i nie tylko. Dzięki IronPDF możesz używać istniejących dokumentów PDF jako szablonów do generowania nowych plików PDF, przechowywać dane PDF w bazach danych do wykorzystania w przyszłości, konwertować pliki PDF na inne formaty, takie jak HTML, a nawet łączyć wiele plików PDF w jeden.
IronPDF pozwala użytkownikom dodawać adnotacje tekstowe do plików PDF w celu personalizacji tworzonych plików. Ponadto dzięki IronPDF można dołączać do plików PDF ustawienia zabezpieczeń, takie jak hasła lub znaki wodne. Pomaga to w integracji funkcji PDF z programami Java. IronPDF to niezwykle wszechstronne i potężne narzędzie do szybkiego i bezpiecznego generowania plików PDF. Zobaczmy, jak można wykorzystać IronPDF do tworzenia plików PDF.
Generowanie plików PDF za pomocą IronPDF
IronPDF to nieocenione narzędzie do tworzenia plików PDF. Posiada wszystkie funkcje potrzebne do szybkiej konwersji dokumentów, stron internetowych i obrazów na stabilne, bezpieczne pliki PDF, które można łatwo udostępniać. Zainstalujmy IronPDF w tym programie demonstracyjnym.
Zainstaluj bibliotekę IronPDF Java PDF
Aby zainstalować IronPDF for Java w projekcie Maven, możesz dodać następujące zależności do pliku pom.xml swojego projektu:
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
</dependencies>
Spowoduje to dodanie biblioteki IronPDF for Java oraz używanego przez nią loggera SLF4J. Zaleca się korzystanie z najnowszej wersji IronPDF for Java. Po dodaniu zależności można uruchomić mvn install, aby zainstalować je w lokalnym repozytorium, a projekt będzie gotowy do korzystania z IronPDF for Java.
Kod Java do tworzenia dokumentów PDF
Ten kod jest napisany w Javie i wykorzystuje bibliotekę IronPDF do konwersji HTML na dokument PDF.
// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Define the HTML content to convert into a PDF
String html = "<!DOCTYPE html>\r\n"
+ "<html>\r\n"
+ " <head>\r\n"
+ " <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
+ " <style>\r\n"
+ " /* Add CSS styles for the invoice here */\r\n"
+ " body {\r\n"
+ " font-family: 'Popin', cursive;\r\n"
+ " }\r\n"
+ " .invoice {\r\n"
+ " width: 80%;\r\n"
+ " margin: 0 auto;\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 20px;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " color: #333;\r\n"
+ " }\r\n"
+ " .invoice h1 {\r\n"
+ " text-align: center;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info {\r\n"
+ " display: flex;\r\n"
+ " justify-content: space-between;\r\n"
+ " margin-bottom: 20px;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info div {\r\n"
+ " width: 45%;\r\n"
+ " }\r\n"
+ " .invoice table {\r\n"
+ " width: 100%;\r\n"
+ " border-collapse: collapse;\r\n"
+ " }\r\n"
+ " .invoice table th, .invoice table td {\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 10px;\r\n"
+ " }\r\n"
+ " .invoice table th {\r\n"
+ " text-align: left;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " }\r\n"
+ " .invoice table td {\r\n"
+ " text-align: right;\r\n"
+ " }\r\n"
+ " .invoice table td.total {\r\n"
+ " font-weight: bold;\r\n"
+ " }\r\n"
+ " </style>\r\n"
+ " </head>\r\n"
+ " <body>\r\n"
+ " <div class=\"invoice\">\r\n"
+ " <h1>Invoice</h1>\r\n"
+ " <div class=\"invoice-info\">\r\n"
+ " <div>\r\n"
+ " <p><strong>From:</strong></p>\r\n"
+ " <p>Your Company Name</p>\r\n"
+ " <p>123 Main St</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " <div>\r\n"
+ " <p><strong>To:</strong></p>\r\n"
+ " <p>Customer Name</p>\r\n"
+ " <p>456 Park Ave</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " </div>\r\n"
+ " <table>\r\n"
+ " <thead>\r\n"
+ " <tr>\r\n"
+ " <th>Product</th>\r\n"
+ " <th>Quantity</th>\r\n"
+ " <th>Price</th>\r\n"
+ " <th>Total</th>\r\n"
+ " </tr>\r\n"
+ " </thead>\r\n"
+ " <tbody>\r\n"
+ " <tr>\r\n"
+ " <td>Product 1</td>\r\n"
+ " <td>1</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td>Product 2</td>\r\n"
+ " <td>2</td>\r\n"
+ " <td>$5.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
+ " <td class=\"total\">$20.00</td>\r\n"
+ " </tr>\r\n"
+ " </tbody>\r\n"
+ " </table>\r\n"
+ " </div>\r\n"
+ " </body>\r\n"
+ "</html>";
// Convert HTML to PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document to a specified path
myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
}
}
// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Define the HTML content to convert into a PDF
String html = "<!DOCTYPE html>\r\n"
+ "<html>\r\n"
+ " <head>\r\n"
+ " <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
+ " <style>\r\n"
+ " /* Add CSS styles for the invoice here */\r\n"
+ " body {\r\n"
+ " font-family: 'Popin', cursive;\r\n"
+ " }\r\n"
+ " .invoice {\r\n"
+ " width: 80%;\r\n"
+ " margin: 0 auto;\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 20px;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " color: #333;\r\n"
+ " }\r\n"
+ " .invoice h1 {\r\n"
+ " text-align: center;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info {\r\n"
+ " display: flex;\r\n"
+ " justify-content: space-between;\r\n"
+ " margin-bottom: 20px;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info div {\r\n"
+ " width: 45%;\r\n"
+ " }\r\n"
+ " .invoice table {\r\n"
+ " width: 100%;\r\n"
+ " border-collapse: collapse;\r\n"
+ " }\r\n"
+ " .invoice table th, .invoice table td {\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 10px;\r\n"
+ " }\r\n"
+ " .invoice table th {\r\n"
+ " text-align: left;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " }\r\n"
+ " .invoice table td {\r\n"
+ " text-align: right;\r\n"
+ " }\r\n"
+ " .invoice table td.total {\r\n"
+ " font-weight: bold;\r\n"
+ " }\r\n"
+ " </style>\r\n"
+ " </head>\r\n"
+ " <body>\r\n"
+ " <div class=\"invoice\">\r\n"
+ " <h1>Invoice</h1>\r\n"
+ " <div class=\"invoice-info\">\r\n"
+ " <div>\r\n"
+ " <p><strong>From:</strong></p>\r\n"
+ " <p>Your Company Name</p>\r\n"
+ " <p>123 Main St</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " <div>\r\n"
+ " <p><strong>To:</strong></p>\r\n"
+ " <p>Customer Name</p>\r\n"
+ " <p>456 Park Ave</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " </div>\r\n"
+ " <table>\r\n"
+ " <thead>\r\n"
+ " <tr>\r\n"
+ " <th>Product</th>\r\n"
+ " <th>Quantity</th>\r\n"
+ " <th>Price</th>\r\n"
+ " <th>Total</th>\r\n"
+ " </tr>\r\n"
+ " </thead>\r\n"
+ " <tbody>\r\n"
+ " <tr>\r\n"
+ " <td>Product 1</td>\r\n"
+ " <td>1</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td>Product 2</td>\r\n"
+ " <td>2</td>\r\n"
+ " <td>$5.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
+ " <td class=\"total\">$20.00</td>\r\n"
+ " </tr>\r\n"
+ " </tbody>\r\n"
+ " </table>\r\n"
+ " </div>\r\n"
+ " </body>\r\n"
+ "</html>";
// Convert HTML to PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document to a specified path
myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
}
}
- Pierwszym krokiem jest zastosowanie klucza licencyjnego przy użyciu metody
setLicenseKey. Klucz jest przekazywany jako argument typu string; W tym przypadku "YOUR-LICENSE-KEY" należy zastąpić rzeczywistym kluczem licencyjnym. - Następnym krokiem jest ustawienie ścieżki logów przy użyciu metody
setLogPath. W tym miejscu zostanie zapisany plik dziennika silnika IronPDF. W tym przypadku jest to "C:/tmp/IronPdfEngine.log". - Zdefiniowano metodę główną i utworzono obiekt
PdfDocumentpoprzez wywołanie metodyrenderHtmlAsPdf, przekazując jako argument ciąg znaków HTML. Spowoduje to konwersję kodu HTML do formatu PDF i zapisanie go w obiekciemyPdf. - Ostatnim krokiem jest zapisanie obiektu
myPdfdo pliku za pomocą metodysaveAs. Lokalizacja pliku jest przekazywana jako argument w postaci obiektu Paths, w tym przypadku "HTMLtoPDF.pdf".
Tutaj można zobaczyć wynik działania powyższego programu, w którym plik PDF jest tworzony przy użyciu biblioteki IronPDF Java PDF.
Plik PDF wygenerowany na podstawie ciągu znaków HTML
Utwórz plik PDF z adresu URL
IronPDF może renderować strony internetowe do plików PDF z różnych źródeł, w tym z sieci lokalnych i serwerów zewnętrznych.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class UrlToPdfExample {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert a webpage to a PDF by specifying the URL
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("url.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class UrlToPdfExample {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert a webpage to a PDF by specifying the URL
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("url.pdf"));
}
}
- Metoda
PdfDocument.renderUrlAsPdfzostała zaprojektowana specjalnie do tego celu i przyjmuje ciąg znaków zawierający adres URL strony internetowej, która ma zostać przekonwertowana. Metoda pobiera zawartość HTML strony internetowej i przekształca ją w dokument PDF. IronPDF zachowuje wygląd wszystkich elementów stron internetowych, zapewniając jednocześnie funkcjonalność elementów interaktywnych (linków, pól formularzy itp.).
Poniżej przedstawiono wyniki:
Plik PDF wygenerowany z adresu URL
Podsumowanie
Podsumowując, IronPDF to cenna biblioteka Java z wieloma funkcjami do tworzenia i edycji plików PDF. Niezależnie od tego, czy chcesz podpisać cyfrowo dokument PDF, wypełnić formularze PDF, czy wykonać inne zadania, IronPDF ułatwia to przy minimalnym nakładzie kodowania.
Dzięki dostępnej bezpłatnej wersji próbnej i elastycznym opcjom cenowym zaczynającym się od $799, IronPDF jest opłacalnym rozwiązaniem dla programistów pragnących dodać funkcjonalność PDF do swoich projektów.
Często Zadawane Pytania
Jak utworzyć dokument PDF w Javie?
Korzystając z IronPDF, można tworzyć dokumenty PDF w języku Java, wykorzystując jego rozbudowany interfejs API do generowania nowych plików PDF od podstaw lub konwertowania istniejących dokumentów do formatu PDF.
Jak wygląda proces konwersji HTML do PDF w Javie?
Aby przekonwertować HTML na PDF w Javie, IronPDF udostępnia metodę renderHtmlAsPdf, która pozwala wprowadzić ciąg znaków HTML i otrzymać dokument PDF jako wynik.
Jak przekonwertować adres URL strony internetowej na plik PDF w aplikacji Java?
IronPDF umożliwia konwersję adresu URL strony internetowej do formatu PDF za pomocą metody renderUrlAsPdf. Metoda ta pobiera zawartość HTML z adresu URL i konwertuje ją na dokument PDF.
Czy mogę podpisywać cyfrowo dokumenty PDF za pomocą biblioteki Java?
Tak, IronPDF umożliwia cyfrowe podpisywanie dokumentów PDF, zapewniając autentyczność i integralność dokumentu.
Jak mogę dodać funkcje zabezpieczeń do pliku PDF za pomocą Javy?
IronPDF oferuje funkcje bezpieczeństwa, takie jak ochrona hasłem i znaki wodne, które można zastosować do plików PDF w celu zwiększenia ich bezpieczeństwa.
Jakie kroki należy wykonać, aby zainstalować bibliotekę PDF w projekcie Maven?
Aby zainstalować IronPDF w projekcie Maven, należy dodać zależność IronPDF oraz zależność logowania SLF4J do pliku pom.xml, a następnie wykonać polecenie mvn install.
Jak mogę modyfikować istniejące pliki PDF za pomocą Javy?
IronPDF umożliwia manipulowanie istniejącymi plikami PDF, udostępniając metody edycji tekstu, scalania dokumentów, dodawania adnotacji oraz stosowania podpisów cyfrowych.
Czy istnieje możliwość przetestowania funkcji IronPDF przed zakupem?
Tak, IronPDF oferuje bezpłatną wersję próbną, która pozwala programistom przetestować jego funkcje przed podjęciem decyzji o zakupie.
Jakie są zalety korzystania z biblioteki PDF w Javie?
Korzystanie z biblioteki PDF, takiej jak IronPDF w Javie, usprawnia proces tworzenia, edycji i konwersji plików PDF, zmniejszając potrzebę rozbudowanego kodowania i poprawiając wydajność.
Jak mogę połączyć wiele plików PDF w jeden za pomocą Javy?
IronPDF zawiera funkcję łączenia wielu plików PDF w jeden dokument, co ułatwia konsolidację wielu plików PDF w jeden plik.





