Przejdź do treści stopki
KORZYSTANIE Z IRONPDF FOR JAVA

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.

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:

  1. Uruchom środowisko IntelliJ IDE.
  2. Wybierz Plik > Nowy > Projekt.
  3. Wpisz tytuł projektu.
  4. Wybierz lokalizację, język, system kompilacji i JDK.
  5. Kliknij przycisk Utwórz.

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 1: Utwórz projekt 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>
XML

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();
        }
    }
}
JAVA

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.

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 2: Wynik 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.

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 3: Wyrenderowany kod HTML z nowym akapitem 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();
        }
    }
}
JAVA

[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.

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 4: Wynik 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.

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 5: Przykładowa strona HTML Przykładowa strona HTML

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 6: Przykładowy kod 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();
        }
    }
}
JAVA

Poprzedni przykład zawiera już wyjaśnienie kodu. Pozostała część pozostaje bez zmian;

Oto plik PDF z tłumaczeniem:

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 7: HTML do PDF 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();
        }
    }
}
JAVA

[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:

Jak dynamicznie generować pliki PDF z aplikacji Java, rysunek 8: Wynikowy plik PDF 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();
        }
    }
}
JAVA

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.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant posiada tytuł licencjata z informatyki z Uniwersytetu Miami i pracuje jako Full Stack WebOps Marketing Engineer w Iron Software. Już od młodych lat zainteresował się kodowaniem, postrzegając informatykę jako zarówno tajemniczą, jak i dostępną, co czyni ją doskonałym medium dla kreatywności ...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie