VERWENDUNG VON IRONPDF FOR JAVA

Java PDF-Editor-Bibliothek (Anleitung & Code-Beispiel)

Jordi Bardia
Jordi Bardia
13. März 2023
Aktualisiert 1. September 2024
Teilen Sie:

IronPDF's Java PDF Library ist ein leistungsstarkes Werkzeug zum Bearbeiten und Erstellen von PDF-Dokumenten innerhalb von Java-Anwendungen. Es vereinfacht eine Vielzahl von PDF-Bearbeitungsfunktionen, wie z. B. das Hinzufügen von Signaturen, HTML-Fußzeilen, Wasserzeichen und Kommentaren.

Mit IronPDF können Sie PDF-Dateien einfach programmatisch erstellen, Ihren Code effizient debuggen und Ihre Projekte auf vielen unterstützten Plattformen oder Umgebungen bereitstellen.

Das Hauptziel der meisten Java-PDF-Bibliotheken ist die dynamische Erzeugung von PDF-Dateien. IronPDF eignet sich hervorragend für diese Aufgabe und bietet eine Vielzahl von Funktionen, um Ihre Anforderungen zu erfüllen.

In diesem Artikel werden einige der wichtigsten Funktionen von IronPDF anhand von Codebeispielen und Erklärungen erläutert. Am Ende werden Sie ein solides Verständnis für die Verwendung von IronPDF zur Bearbeitung von PDFs in Java haben - perfekt für Ihre PDF-Bearbeitungsanforderungen.

Dokumentstruktur bearbeiten

Manipulation von PDF-Dokumenten

IronPDF erleichtert die Verwaltung von PDFs durch die Möglichkeit, PDFs zu bestimmten Indizes hinzuzufügen, Seiten entweder als Bereich oder einzeln zu kopieren und Seiten mühelos zu löschen. All diese Aufgaben werden nahtlos im Hintergrund erledigt.

Seiten hinzufügen

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PdfDocument coverPagePdf = PdfDocument.renderHtmlAsPdf("<h1>Cover Page</h1><hr>");
PDF.prependPdf(coverPagePdf);
PDF.saveAs(Paths.get("report_with_cover.pdf"));
JAVA

Seiten kopieren

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PDF.copyPages(0,1).saveAs("report_highlight.pdf");
JAVA

Seiten löschen

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PDF.removePages(PageSelection.lastPage()).saveAs(Paths.get("assets/lastPageRemove.pdf"));
JAVA

Deckblatt beifügen

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;
import com.ironsoftware.ironpdf.headerfooter.TextHeaderFooter;

import java.io.IOException;
import java.nio.file.Paths;

// Create a Sample Cover Page using RenderHtmlAsPdf
PdfDocument coverPage = PdfDocument.renderHtmlAsPdf("<h1>This is a Cover Page</h1>");
PdfDocument webpage = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

// Set the page number of the PDF document to be created to 2.
HeaderFooterOptions headerFooterOptions = new HeaderFooterOptions();
headerFooterOptions.setFirstPageNumber(1);
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("");
footer.setCenterText("Page {page}");
footer.setRightText("");
webpage.addTextFooter(footer, headerFooterOptions);

// Convert a web page's content to a PDF document.
// Merge the cover page with the web page and save the new PDF to the filesystem.
try {
    PdfDocument.merge(coverPage, webpage).saveAs(Paths.get("assets/cover_page_pdf.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Erfahren Sie mehr über das Anhängen einer Titelseite in PDF-Dokumenten bei IronPDF.

Zusammenführen und Teilen von PDFs

IronPDF for Java vereinfacht mit seiner benutzerfreundlichen API das Zusammenführen mehrerer PDF-Dateien zu einer einzigen oder das Aufteilen einer bestehenden PDF-Datei.

Mehrere vorhandene PDF-Dokumente zu einem einzigen PDF-Dokument zusammenfügen

import com.ironsoftware.ironpdf.PdfDocument;  
import java.io.IOException;  
import java.nio.file.Paths;

String htmlA = "<p> [PDF_A] </p>"
        + "<p> [PDF_A] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
        + "<p> [PDF_B] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_B] 2nd Page</p>";

PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);

merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

Aufteilen einer PDF-Datei und Extrahieren von Seiten

import com.ironsoftware.ironpdf.PdfDocument;  
import java.io.IOException;  
import java.nio.file.Paths;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PdfDocument copied = PDF.copyPage(0);
copied.saveAs("assets/Split.pdf");
JAVA

Einstellen der benutzerdefinierten Größe von PDF-Dokumenten

IronPDF ermöglicht es Entwicklern, PDF-Dokumente mit nicht standardisierten Abmessungen zu erstellen, die über das herkömmliche A4-Format (21,59 x 27,94 cm) hinausgehen.

import com.ironsoftware.ironpdf.*;  
import com.ironsoftware.ironpdf.render.*;  
import java.io.IOException;  
import java.nio.file.Paths;

String html = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>";

ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setPaperSize(PaperSize.Custom);

/*
* Setting page sizes using different measuring units:
* 1. setCustomPaperWidth( width ) / setCustomPaperHeight( height ): for inches
* 2. setCustomPaperSizeInCentimeters( width, height ): for centimeters.
* 3. setCustomPaperSizeInMillimeters( width, height ): for millimeters
* 4. setCustomPaperSizeInPixelsOrPoints( width, height ): for pixels/points
* */
renderOptions.setCustomPaperSizeInCentimeters(13.97, 13.97);

PdfDocument.renderHtmlAsPdf(html, renderOptions).saveAs(Paths.get("assets/CustomPaperSize.pdf"));
JAVA

Hier sind weitere Tipps zur benutzerdefinierten Größe der PDFs auf IronPDF.

PDF-Ausrichtung festlegen

IronPDF for Java ermöglicht die Änderung der Seitenausrichtung sowohl in neuen als auch in bestehenden PDFs. Standardmäßig werden neue PDFs, die mit IronPDF erstellt werden, im Hochformat angelegt. Entwickler können dies jedoch ändern, indem sie eine ChromePdfRenderOptions-Instanz verwenden, wenn sie Inhalte (wie HTML, RTFs und URLs) in PDFs konvertieren.

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.edit.PageSelection;  
import com.ironsoftware.ironpdf.page.PageRotation;  
import com.ironsoftware.ironpdf.render.*;  
import java.io.IOException;  
import java.nio.file.Paths;

// Get the orientation of the first page of the existing PDF document.  
PageRotation firstPageRotation = existingPdf.getPagesInfo().get(0).getPageRotation();  
System.out.println(firstPageRotation);  

// Rotate the first page of the document only 90 degrees clockwise.  
existingPdf.rotatePage(PageRotation.CLOCKWISE_90, PageSelection.firstPage());  

// Rotate all pages of the document clockwise.  
existingPdf.rotateAllPages(PageRotation.CLOCKWISE_270);  

existingPdf.saveAs(Paths.get("assets/ExistingPdfRotated.pdf"));
JAVA

Für weitere Informationen besuchen Sie das Tutorial zur PDF-Ausrichtung auf der IronPDF-Website.

Benutzerdefinierte Ränder für PDF festlegen

IronPDF erzeugt neue PDFs mit einem Standardrand von 25 mm auf allen Seiten (oben, unten, links, rechts). Mit IronPDF können die Entwickler jedoch jeden Rand mit spezifischen Messungen anpassen.

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;  
import java.io.IOException;  
import java.nio.file.Paths;

// Set Margins (in millimeters)  
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
renderOptions.setMarginTop(40);  
renderOptions.setMarginLeft(20);  
renderOptions.setMarginRight(20);  
renderOptions.setMarginBottom(40);  

PdfDocument.renderHtmlFileAsPdf("assets/wikipedia.html", renderOptions).saveAs(Paths.get("assets/MyContent.pdf"));
JAVA

Besuchen Sie die IronPDF-Website, um mehr über das Festlegen benutzerdefinierter Ränder für PDF-Dokumente zu erfahren.

PDF-Dokumente in Bilder umwandeln

IronPDF kann Seiten einer geladenen PDF-Datei, konvertierte Quellinhalte oder eine modifizierte PDF-Datei mit Kopf- und Fußzeilen, Rändern usw. in Bilder exportieren, die in einem Dateisystem gespeichert, in einer Datenbank abgelegt oder über Netzwerke übertragen werden können.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/composite.pdf"));

// Extract all the pages from the PDF file.
List<BufferedImage> extractedImages = pdf.toBufferedImages();

// With the ToImageOptions object, specify maximum image dimensions for each
// extracted image, as well as their DPI
ToImageOptions rasterOptions = new ToImageOptions();
rasterOptions.setImageMaxHeight(100);
rasterOptions.setImageMaxWidth(100);

// Call the toBufferedImage method along with a PageSelection object to choose the pages from which to
// extract the images
//
// Available PageSelection methods include: allPages, lastPage, firstPage, singlePage(int pageIndex),
// and pageRange(int startingPage, int endingPage)
List<BufferedImage> sizedExtractedImages = pdf.toBufferedImages(rasterOptions, PageSelection.allPages());

// Save all the extracted images to a file location
int i = 1;
for (BufferedImage extractedImage : sizedExtractedImages) {
    String fileName = "assets/images/" + i++ + ".png";
    ImageIO.write(extractedImage, "PNG", new File(fileName));
}
JAVA

Hintergrund und Vordergrund hinzufügen

IronPDF bietet die Methoden addBackgroundPdf und addForegroundPdf für das Hinzufügen eines spezifischen Hintergrund- oder Vordergrundelements zu PDFs an. Diese Methoden ermöglichen es Entwicklern, Inhalte aus einer PDF-Datei als Hintergrund oder Vordergrund einer anderen PDF-Datei einzubinden, was die Erstellung von PDF-Sammlungen auf der Grundlage einer gemeinsamen Designvorlage effizient macht.

PDF als Hintergrund hinzufügen

import com.ironsoftware.ironpdf.*;  
import java.io.IOException;  
import java.nio.file.Paths;

// Load background PDFs from the filesystem (or create them programmatically)  
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));  

// Render content (HTML, URL, etc) as a PDF Document  
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");  

// Add the background PDFs to the newly-rendered document.  
pdf.addBackgroundPdf(backgroundPdf);  

pdf.saveAs(Paths.get("assets/BackgroundPdf.pdf"));
JAVA

PDF als Vordergrund hinzufügen

import com.ironsoftware.ironpdf.*;  
import java.io.IOException;  
import java.nio.file.Paths;

PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));  
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");  
pdf.addForegroundPdf(foregroundPdf);  

pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
JAVA

Dokumenteigenschaften bearbeiten

Hinzufügen und Verwenden von PDF-Metadaten

IronPDF bietet die Möglichkeit, PDF-Metadaten und Sicherheitsfunktionen zu ändern, einschließlich der Erstellung von PDFs, die nur gelesen, nicht gedruckt, passwortgeschützt und verschlüsselt werden können. In IronPDF for Java kann der MetadataManager auf die Metadaten einer PDF-Datei zugreifen und diese bearbeiten. Die MetadataManager-Klasse bietet direkten Zugriff auf Metadateninhalte und ermöglicht es Entwicklern, gängige Metadateneigenschaften über Getter und Setter mit den gleichen Namen zu lesen und zu bearbeiten.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;

// Open an encrypted file (or create a new one from HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/encrypted.pdf"), "password");

// Edit file metadata
MetadataManager metadata = pdf.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());

// Edit file security settings
// The code below makes the PDF read-only and disallows users to copy, paste, and print
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");

// Change or set the document encryption password
SecurityManager securityManager = pdf.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pdf.saveAs(Paths.get("assets/secured.pdf"));
JAVA

Digitale Signaturen

IronPDF for Java ermöglicht das sichere Signieren neuer oder bestehender PDF-Dateien mithilfe von X509Certificate2-Digitale Zertifikate im .pfx- oder .p12-Format. Durch das digitale Signieren einer PDF-Datei wird ihre Authentizität garantiert und Änderungen ohne ordnungsgemäße Zertifikatsvalidierung verhindert. Dadurch wird die Zuverlässigkeit des Dokuments erhöht.

Für eine kostenlose Möglichkeit, ein Signaturzertifikat zu erstellen, bietet Adobe Reader Anleitungen in seinem Digital-ID-Tutorial an.

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));

File path = new File("assets/Ironpdf.pfx");
byte [] certificate = new byte [(int)path.length()];

Signature signature = new Signature(certificate,"1234");

SignatureManager manager = PDF.getSignature();

manager.SignPdfWithSignature(signature);
JAVA

PDFs komprimieren

IronPDF reduziert die PDF-Dateigröße mit seiner compressImages-Methode in der PdfDocument-Klasse, wodurch es einfach ist, PDFs mit großen Bildern zu komprimieren. Diese Optimierung führt zu erheblichen Einsparungen an Speicherplatz und Kosten bei der Übertragung von PDF-Dateien über E-Mail und andere Kommunikationskanäle.

import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/document.pdf"));  

// Valid image compression values range from 1 to 100, where 100 represents 100% of the  
// original image quality.  
pdf.compressImages(60);  
pdf.saveAs(Paths.get("assets/document_compressed.pdf"));  

// The second, optional parameter can scale down the image resolution according to its visible  
// size in the PDF document. Note that this may cause distortion with some image configurations  
pdf.compressImages(90, true);  
pdf.saveAs(Paths.get("assets/document_scaled_compressed.pdf"));
JAVA

Bearbeiten von PDF-Inhalten

Kopf- und Fußzeilen hinzufügen

Mit IronPDF können Sie benutzerdefinierte HTML-Header und -Footer hinzufügen, indem Sie die Klassen ChromePdfRenderOptions und HtmlHeaderFooter verwenden. Es unterstützt auch benutzerdefinierte Text-Header und -Footer durch die TextHeaderFooter-Klasse, die das Angeben von Text für die linken, rechten oder mittleren Bereiche des Headers/Footers ermöglicht. Vorlagen-Tags wie {date}, {time} und {page} können mit benutzerdefiniertem Text verwendet werden.

HTML-Kopfzeile und -Fußzeile

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
// Merge Fields are: {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();

// Build a header using an image asset
// Note the use of BaseUrl to set a relative path to the assets
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
    pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Text Kopfzeile und Fußzeile

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.font.FontTypes;
import com.ironsoftware.ironpdf.headerfooter.TextHeaderFooter;
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;

import java.io.IOException;
import java.nio.file.Paths;

// Initialize HeaderFooterOptions object.
HeaderFooterOptions options = new HeaderFooterOptions();
PdfDocument pdf = PdfDocument.renderUrlAsPdf("http://www.google.com");

// Add a header to every page easily
// Mergeable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
options.setFirstPageNumber(1); // use 2 if a coverpage  will be appended
TextHeaderFooter textHeader = new TextHeaderFooter();
textHeader.setDrawDividerLine(true);
textHeader.setCenterText("{url}");
textHeader.setFont(FontTypes.getHelvetica());
textHeader.setFontSize(12);
pdf.addTextHeader(textHeader, options);

// Add a footer too
TextHeaderFooter textFooter = new TextHeaderFooter();
textFooter.setDrawDividerLine(true);
textFooter.setFont(FontTypes.getArial());
textFooter.setFontSize(10);
textFooter.setLeftText("{date} {time}");
textFooter.setRightText("{page} of {total-pages}");
pdf.addTextFooter(textFooter, options);

try {
    pdf.saveAs(Paths.get("assets/text_headers_footers.pdf"));
} catch (IOException e) {
    System.out.println("Failed to save PDF");
    throw new RuntimeException(e);
}
JAVA

Lesezeichen

Mit der BookmarkManager-Klasse können Entwickler eine hierarchische Struktur von Lesezeichen innerhalb eines PDFs erstellen, die es Benutzern ermöglicht, leicht zu verschiedenen Abschnitten zu navigieren. Um ein neues Lesezeichen hinzuzufügen, verwenden Sie die add-Methode und geben Sie den Titel und die Seitenzahl des Lesezeichens an. Lesezeichen können verschachtelt werden, um eine übersichtlichere Struktur zu schaffen.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

// Load an existing PDF from the file system (or create a new one from HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));

// Add top-level bookmarks to pages of the PDF using their page indices
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);

// Retrieve a reference to the Summary bookmark so that we can add a sublist of bookmarks to it.
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
bookmark.AddChildBookmark("Conclusion", 11);

// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
JAVA

Hinzufügen und Bearbeiten von Kommentaren

IronPDF kann Annotationen im "Klebezettel"-Stil zu bestimmten Seiten eines PDFs hinzufügen, indem die Klassen AnnotationManager und AnnotationOptions verwendet werden. Erstellen Sie textbasierte Anmerkungen, indem Sie Text und (x,y)-Koordinaten dem AnnotationOptions-Konstruktor übergeben. Verwenden Sie dann die Methode addTextAnnotation des AnnotationManager, um die Anmerkung zur gewünschten Seite hinzuzufügen.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.annotation.AnnotationIcon;
import com.ironsoftware.ironpdf.annotation.AnnotationManager;
import com.ironsoftware.ironpdf.annotation.AnnotationOptions;

import java.io.IOException;
import java.nio.file.Paths;

// Create a new PDF or load an existing one from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));

// Create an annotation to be placed at a specific location on a page.
AnnotationOptions annotation = new AnnotationOptions(
        "This is a major title",                            // Title of the annotation
        "This is the long 'sticky note' comment content...",    // Content of the annotation
        150,                                                    // x-axis coordinate location
        250                                                     // y-axis coordinate location
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);

// Add the annotation to a specific page of the PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0);

// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
JAVA

Stempeln und Wasserzeichen

IronPDF for Java verfügt über eine leistungsstarke API mit umfangreichen Stempel- und Wasserzeichenfunktionen. Mit der benutzerfreundlichen Oberfläche können Entwickler schnell Bilder und HTML-Stempel zu ihren PDFs hinzufügen. Ganz gleich, ob Sie ein Firmenlogo, einen Vertraulichkeitshinweis oder eine eindeutige Kennung benötigen, IronPDF bietet Ihnen die Möglichkeit, Ihre PDFs einfach und professionell mit Stempeln zu versehen.

Text in eine PDF-Datei stempeln

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
TextStamper stamper1 = new TextStamper();
stamper1.setText("Hello World! Stamp One Here!");
stamper1.setFontFamily("Bungee Spice");
stamper1.setUseGoogleFont(true);

stamper1.setFontSize(100);
stamper1.setBold(true);
stamper1.setItalic(false);
stamper1.setVerticalAlignment(VerticalAlignment.TOP);

pdf.applyStamp(stamper1);
JAVA

Ein Bild in eine PDF-Datei stempeln

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.stamp.ImageStamper;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
ImageStamper imageStamper = new ImageStamper(Paths.get("assets/logo.png"));
// Apply to every page, one page, or some pages
PDF.applyStamp(imageStamper);
PDF.applyStamp(imageStamper, PageSelection.singlePage(2));
PDF.applyStamp(imageStamper, PageSelection.pageRange(0, 2));
JAVA

Stempeln eines Barcodes auf eine PDF-Datei

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.BarcodeEncoding;
import com.ironsoftware.ironpdf.stamp.BarcodeStamper;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
BarcodeStamper barcodeStamp = new BarcodeStamper("IronPDF", BarcodeEncoding.Code39);

barcodeStamp.setHorizontalAlignment(HorizontalAlignment.LEFT);
barcodeStamp.setVerticalAlignment(VerticalAlignment.BOTTOM);

PDF.applyStamp(barcodeStamp);
JAVA

Stempeln eines QR-Codes auf eine PDF-Datei

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.BarcodeEncoding;
import com.ironsoftware.ironpdf.stamp.BarcodeStamper;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
BarcodeStamper QRStamp = new BarcodeStamper("IronPDF", BarcodeEncoding.QRCode);
QRStamp.setHeight(50);
QRStamp.setWidth(50);
QRStamp.setHorizontalAlignment(HorizontalAlignment.LEFT);
QRStamp.setVerticalAlignment(VerticalAlignment.BOTTOM);
PDF.applyStamp(QRStamp);
JAVA

Wasserzeichen zu einer PDF-Datei hinzufügen

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
String html = "<h1> Example Title <h1/>";
int watermarkOpacity = 30;
PDF.applyWatermark(html, watermarkOpacity);
JAVA

Formulare in PDFs verwenden

IronPDF Java bietet eine unkomplizierte und effiziente Möglichkeit, Werte aus Textfeldern in einem PDF-Dokument zu setzen und abzurufen, indem die FormManager-Klasse verwendet wird. Entwickler können die setFieldValue-Methode aufrufen, um den Namen und den Wert des Textfelds bereitzustellen.

Rufen Sie den Wert eines Formularfelds direkt über die Sammlung von FormField-Objekten des FormManager ab, indem Sie den entsprechenden Namen oder Index verwenden. Dieses Maß an Kontrolle über die Formularfelder macht die Arbeit mit dynamischen und interaktiven PDF-Formularen einfach.

Formulare erstellen und bearbeiten

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;

import java.io.IOException;
import java.nio.file.*;

// #1 Use Case: Create a PDF Form from HTML Form Markup
Path outputLocation = Paths.get("assets/BasicForm.pdf");
String formHTML = "<html>"
        + "<body>"
        + "<h2>Editable PDF  Form</h2>"
        + "<form>"
        + "First name: <br> <input type='text' name='firstname' value=''> <br>"
        + "Last name: <br> <input type='text' name='lastname' value=''>"
        + "</form>"
        + "</body>"
        + "</html>";

ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setCreatePdfFormsFromHtml(true);
PdfDocument.renderHtmlAsPdf(formHTML, renderOptions).saveAs(outputLocation);

// #2 Use Case: Writing Values to the PDF Form
PdfDocument form = PdfDocument.fromFile(outputLocation);

// Set the value of the firstname input field.
form.getForm().setFieldValue("firstname", "Minnie");

// Set the value of the lastname input field.
form.getForm().setFieldValue("lastname", "Mouse");

// Save the changes to the PDF Form.
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

Vorhandene Formulare ausfüllen

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.*;

PdfDocument form = PdfDocument.fromFile("assets/pdfform.pdf");

// Set the value of the firstname input field.
form.getForm().setFieldValue("firstname", "Minnie");

// Set the value of the lastname input field.
form.getForm().setFieldValue("lastname", "Mouse");

// Save the changes to the PDF Form.
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

PDF zum Drucken senden

Die Druckmethode von IronPDF ermöglicht es Entwicklern, das Drucken von PDFs einfach in ihre Anwendungen zu integrieren. Durch den Aufruf der [print](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#print())-Methode wird das Druckdialogfeld des Betriebssystems geöffnet, das den Benutzern Optionen bietet, um Einstellungen wie Drucker, Papiergröße und die Anzahl der Kopien anzupassen.

import com.ironsoftware.ironpdf.PdfDocument;

import java.awt.print.PrinterException;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Created with IronPDF!</h1>");
try {
    pdf.print();
} catch (PrinterException exception) {
    System.out.println("Failed to print PDF");
    exception.printStackTrace();
}
JAVA

Schlussfolgerung

IronPDF ist eine umfassende PDF-Bibliothek für Java, die eine breite Palette von Funktionen zum Erstellen, Bearbeiten und Manipulieren von PDF-Dokumenten bietet. Sie verfügt über robuste Methoden zur Text- und Bildextraktion, die es Entwicklern ermöglichen, auf PDF-Inhalte zuzugreifen und diese zu verarbeiten. IronPDF bietet außerdem Flexibilität bei der Anpassung von PDF-Metadaten und Sicherheitseinstellungen, wie z. B. die Möglichkeit, eine PDF-Datei schreibgeschützt oder passwortgeschützt zu machen. Sie enthält eine Methode zur Komprimierung von PDF-Dateien, zur Verringerung der Dateigröße und zur Verbesserung der Übertragungseffizienz.

Die Bibliothek ermöglicht das Hinzufügen von benutzerdefinierten Kopf- und Fußzeilen sowie von Anmerkungen zu einem PDF-Dokument. Die Lesezeichenfunktion ermöglicht es Entwicklern, Lesezeichen zur einfachen Navigation innerhalb einer PDF-Datei hinzuzufügen.

IronPDF bietet einen kostenlosen Testschlüssel, der es Benutzern ermöglicht, die Funktionen und Fähigkeiten zu testen, bevor sie einen Kauf tätigen. Die IronPDF Java-Lizenz beginnt bei $749 und bietet eine kostengünstige Lösung für Unternehmen und Einzelpersonen, die ihre PDF-Dateien sichern und verwalten möchten.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS
Zusammenführen von zwei PDF-Dateien mit Java
NÄCHSTES >
Java PDF Generator (Code-Beispiel-Tutorial)

Sind Sie bereit, loszulegen? Version: 2025.3 gerade veröffentlicht

Lizenzen anzeigen >