Java PDF Stamper (samouczek dla początkujących)
IronPDF — biblioteka PDF dla języka Java
IronPDF to biblioteka Java do generowania, odczytu i edycji dokumentów PDF. Umożliwia użytkownikom łatwą i dokładną pracę z dokumentami PDF. IronPDF for Java opiera się na sukcesie IronPDF for .NET i zapewnia wydajność na różnych platformach. IronPDF for Java wykorzystuje IronPdfEngine, który jest szybki i zoptymalizowany pod kątem wydajności.
IronPDF pomaga wyodrębniać tekst i obrazy z plików PDF oraz inne obiekty z plików PDF. Pomaga tworzyć pliki PDF na podstawie ciągów znaków HTML, adresów URL i obrazów. Umożliwia również konwersję między różnymi formatami plików. Możesz łatwo dodawać nowe treści oraz podpisy cyfrowe do plików PDF wraz z metadanymi dokumentu do istniejących dokumentów PDF. Jest przeznaczony specjalnie dla Java 8+, Scala i Kotlin, na dowolnych platformach Windows, Linux i chmurowych.
Kroki tworzenia PDF Stamper przy użyciu IronPDF w aplikacji Java
Wymagania wstępne
Aby stworzyć PDF Stamper, potrzebne są następujące elementy:
1. Środowisko IDE dla języka Java
Możesz użyć dowolnego środowiska IDE obsługującego Javę. Istnieje wiele środowisk IDE dostępnych do programowania w Javie. W tej demonstracji zostanie użyte środowisko IntelliJ IDE. Można używać NetBeans, Eclipse itp.
2. Projekt Maven
Maven to menedżer zależności, który umożliwia kontrolę nad projektem Java. Maven dla języka Java można pobrać z oficjalnej strony internetowej Maven. Środowisko IntelliJ IDE dla języka Java obsługuje Maven.
3. IronPDF
IronPDF for Java można pobrać i zainstalować na wiele sposobów.
- Dodanie zależności IronPDF w pliku
pom.xmlw projekcie Maven.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>LATEST_VERSION</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>LATEST_VERSION</version>
</dependency>
- Odwiedź stronę internetową Maven i pobierz najnowszy pakiet IronPDF for Java z repozytorium Maven dla IronPDF.
- Pobierz IronPDF bezpośrednio z oficjalnej sekcji pobierania na stronie IronPDF.com.
- Zainstaluj IronPDF ręcznie, używając pliku JAR IronPDF w swojej aplikacji Java.
4. Slf4j
Ta zależność jest również wymagana do umieszczania treści w istniejącym dokumencie PDF. Można ją dodać za pomocą menedżera zależności Maven w IntelliJ lub pobrać bezpośrednio ze strony internetowej Maven. Dodaj następującą zależność do pliku pom.xml:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
Dodawanie niezbędnych importów
Po zainstalowaniu wszystkich wymaganych elementów kolejnym krokiem jest zaimportowanie niezbędnych pakietów IronPDF do pracy z dokumentami PDF. Dodaj następujący kod na początku pliku Main.java:
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.stamp.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.stamp.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
Klucz licencyjny
Niektóre metody dostępne w IronPDF wymagają licencji do korzystania. Możesz kupić licencję lub wypróbować IronPDF za darmo dzięki licencji Trial. Klucz można ustawić w następujący sposób:
// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
Otwórz istniejący dokument PDF
Aby zaimportować istniejący dokument w celu umieszczenia w nim nowej treści, używa się klasy PdfDocument. Jej statyczna metoda fromFile służy do ładowania pliku z określonej ścieżki o rzeczywistej nazwie pliku. Kod wygląda następująco:
// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
Załadowano oryginalny dokument:

Przykładowy dokument
Dodaj nową treść HTML
IronPDF oferuje pakiet stempli. Umożliwia to szereg przydatnych opcji znakowania, takich jak BarcodeStamper, HtmlStamper, ImageStamper, TextStamper i inne, służących do wyrównywania treści. Aby dodać nową treść HTML do tego dokumentu PDF, zostanie użyta klasa HtmlStamper. Wykorzystajmy plik z poprzedniej sekcji i dodajmy do niego trochę treści. Poniższy kod pomaga w realizacji tego zadania:
// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
Tworzony jest obiekt HtmlStamper, a następnie używana jest jego metoda setHtml w celu dołączenia nowego kodu HTML. Kolejnym krokiem jest zastosowanie go do istniejącego dokumentu PDF w celu utworzenia nowej wersji PDF.
Dodawanie wszystkich elementów interaktywnych do dokumentu PDF
Użycie obiektu PdfDocument utworzonego wcześniej w celu dodania kodu HTML do istniejącego dokumentu. Zapewnia applyStamp dwa przeciążenia, jedno akceptujące wyłącznie treść jako obiekt Stamper, a drugie również z możliwością wyboru strony.
// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
Spowoduje to dodanie opisu ciągu znaków do istniejącego dokumentu.
Zapisywanie zmian w pliku PDF
Aby zapisać plik, należy użyć metody saveAs obiektu PdfDocument.
// Save the modified PDF document
pd.saveAs("stamped.pdf");
// Save the modified PDF document
pd.saveAs("stamped.pdf");

Plik PDF z pieczęcią
Ciąg HTML jest dodawany do każdej strony dokumentu PDF oraz w środkowej części każdej strony.
Stempel na określonych stronach
Możesz użyć innego przeciążenia metody applyStamp, aby dodać treść do konkretnej strony.
// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
Klasa PageSelection udostępnia różne metody do sterowania numerem strony. firstPage, lastPage, allPages oraz pageRange to niektóre z metod dostępnych w celu odpowiedniego dodania treści.
Dostosowanie treści
Można używać metod setVerticalAlignment, setHorizontalAlignment, setWidth, setHeight w każdej klasie Stamper, aby dostosować położenie treści dodanej do istniejącego dokumentu PDF. Poniższy przykładowy kod pomoże umieścić tekst w lewym dolnym rogu strony:
// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);

Plik PDF z wyrównaniem stempla
Możesz użyć metod setVerticalOffset, setHorizontalOffset, aby dodatkowo dostosować rozmieszczenie treści.
Aby uzyskać więcej informacji na temat pracy z plikami PDF przy użyciu IronPDF, zapoznaj się z tym przykładem kodu służącym do konwersji HTML na PDF w Javie.
Dodawanie metadanych, podpisu i opcji zabezpieczeń do istniejącego dokumentu
IronPDF for Java to wszechstronna biblioteka, która umożliwia dodawanie opisów plików w postaci metadanych, uprawnień użytkownika, hasła użytkownika, dodawanie podpisu cyfrowego oraz tworzenie podpisanych dokumentów w celu zapisania wersji dokumentu PDF.
Metadane
// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
Opcje bezpieczeństwa
Możesz również kontrolować opcje zabezpieczeń pliku PDF, aby chronić dane przed nieuprawnionym użyciem. Oferuje opcje ustawiania setAllowUserPrinting, setAllowUserEdits, setAllowUserCopyPasteContent, setAllowUserAnnotations, setUserPassword, setAllowUserFormData na true lub false. Poniższy przykładowy kod pomoże ustawić wszystkie wspomniane powyżej właściwości obiektów.
// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
Hasło użytkownika
// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");
securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");
securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
Aby umieścić podpisy cyfrowe na samym pliku, zapoznaj się z tym szczegółowym przykładem kodu dotyczącym podpisów PDF.
Podsumowanie
W tym artykule omówiono, jak umieścić pieczątkę na istniejącym dokumencie PDF w języku Java. Dostępny jest pakiet stempli zawierający szereg przydatnych klas stempli, które można wykorzystać do dodania treści w wielu formatach do pliku PDF w dowolnym miejscu oryginalnego dokumentu.
IronPDF jest biblioteką wszechstronną, co widać również na powyższych przykładach kodu. Jest to dość proste, ale jednocześnie bardzo potężne narzędzie do generowania i edycji plików PDF. Pomaga to programistom w łatwej integracji wszystkich funkcji PDF w jednej aplikacji Java.
IronPDF jest bezpłatny do użytku w ramach pojedynczego projektu i oferuje bezplatną licencję probną bez znaku wodnego, umożliwiającą przetestowanie pełnej funkcjonalności. Jednak w przypadku wykorzystania komercyjnego należy uzyskać licencję od IronPDF.
Ponadto firma IronPDF oferuje specjalną promocję na Suite Iron Software, w ramach której programiści mogą nabyć wszystkie pięć produktów Iron Software w cenie dwóch licencji.
Często Zadawane Pytania
Jak mogę dodać treść do istniejącego dokumentu PDF w Javie?
Możesz użyć klasy HtmlStamper z biblioteki IronPDF for Java, aby dodać zawartość HTML do istniejącego dokumentu PDF. Klasa ta pozwala na integrację nowej zawartości przy zachowaniu oryginalnego formatowania.
Jakie są główne kroki tworzenia narzędzia do stemplowania plików PDF w Javie?
Aby utworzyć narzędzie do stemplowania plików PDF przy użyciu IronPDF for Java, należy skonfigurować środowisko Java IDE, utworzyć projekt Maven do zarządzania zależnościami oraz dołączyć bibliotekę IronPDF. Następnie należy zaimportować niezbędne klasy, zainicjować licencję, otworzyć istniejący plik PDF i użyć HtmlStamper do dodania treści.
Jak mogę zapewnić zachowanie formatowania pliku PDF podczas dodawania nowej treści?
IronPDF for Java zachowuje oryginalne formatowanie pliku PDF podczas dodawania nowej treści. Jest to możliwe dzięki solidnemu silnikowi renderowania, który dokładnie odtwarza istniejący układ, jednocześnie integrując nowe elementy.
Czy można umieścić stempel tylko na niektórych stronach pliku PDF?
Tak, dzięki IronPDF for Java można użyć metody applyStamp wraz z klasą PageSelection, aby wybrać konkretne strony w pliku PDF do stemplowania.
Jak dostosować położenie treści z pieczątką w dokumencie PDF?
Możesz dostosować położenie treści stemplowanej w pliku PDF, używając metod setVerticalAlignment i setHorizontalAlignment w klasie HtmlStamper, aby kontrolować miejsce pojawienia się nowej treści na stronie.
Jakie funkcje bezpieczeństwa są dostępne dla dokumentów PDF?
IronPDF for Java oferuje kilka funkcji bezpieczeństwa, w tym ustawianie uprawnień użytkowników, dodawanie haseł oraz kontrolowanie dostępu do drukowania, edycji i kopiowania treści w dokumentach PDF.
Czy potrzebuję licencji, aby korzystać z biblioteki PDF w celach komercyjnych?
Tak, do korzystania z IronPDF for Java w celach komercyjnych wymagana jest licencja komercyjna. Dostępna jest jednak bezplatna licencja probna, umożliwiająca przetestowanie pełnej funkcjonalności biblioteki bez znaku wodnego.
Jakie platformy są kompatybilne z IronPDF for Java?
IronPDF for Java jest kompatybilny z Java 8+, Scala, Kotlin i obsługuje różne platformy, w tym systemy Windows, Linux oraz środowiska chmurowe.
Jak przekonwertować zawartość HTML na plik PDF w Javie?
Możesz przekonwertować zawartość HTML na PDF, korzystając z metody RenderHtmlAsPdf biblioteki IronPDF for Java, która pozwala na dokładne renderowanie ciągów znaków lub plików HTML jako dokumentów PDF.
Co jest potrzebne, aby rozpocząć korzystanie z IronPDF for Java w projekcie?
Aby rozpocząć korzystanie z IronPDF for Java, upewnij się, że masz środowisko IDE dla Javy, takie jak IntelliJ, projekt Maven do zarządzania zależnościami oraz bibliotekę IronPDF. Musisz również zaimportować odpowiednie klasy i skonfigurować licencję dla biblioteki.





