跳過到頁腳內容
使用 IRONPDF FOR JAVA

如何在 Java 中寫入 PDF 文件

本文將探討如何使用 IronPDF 以程式設計方式建立 PDF 文件。

IronPDF for Java PDF 函式庫

IronPDF 的 Java PDF 文件可讓開發人員在其 Java 應用程式中建立、編輯和操作 PDF 文件。 對於需要從應用程式資料建立 PDF 檔案的 Java 開發人員來說,該程式庫是一個絕佳的選擇,因為它提供了多種多樣的功能。

IronPDF 具有多種功能,例如添加新的 HTML 內容、嵌入 HTML 標題和頁腳、為文件添加浮水印和戳記、創建受密碼保護的 PDF 文件、對 PDF 文件應用數位簽名、使用背景和前景增強文檔、從 XML 文件創建完整的 PDF 文件、添加和編輯註釋,以及使用大綱和書籤進行更好的導航。 讓我們仔細看看。

新增新的 HTML 內容

透過 IronPDF,開發人員可以輕鬆地在 PDF 文件中新增新的 HTML 內容。 對於希望動態產生包含豐富 HTML 內容的 PDF 表單文件的開發人員來說,這是一個很棒的功能。 該程式庫支援多種 HTML 元素,包括圖像、連結和表格等。 也可以使用 CSS 對 HTML 內容進行樣式設置,從而輕鬆建立外觀專業的 PDF 檔案。

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

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");

// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");

// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");

// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");

// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
JAVA

如何在Java中寫入PDF文件,圖1:輸出PDF 輸出 PDF

新增 HTML 頁首和頁尾

頁首和頁尾是許多 PDF 文件的重要組成部分,IronPDF 可以輕鬆地將 HTML 頁首和頁尾整合到您的文件中。 透過 IronPDF,開發人員可以為 PDF 文件添加自訂頁首和頁腳,包括文字、圖像和頁碼。 對於需要在文件中添加品牌或版權資訊的企業來說,此功能尤其有用。

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;

// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

// Build a footer using HTML
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
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);
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;

// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

// Build a footer using HTML
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
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

如何在Java中寫入PDF文件,圖2:輸出PDF 輸出 PDF

印章和浮水印

使用 IronPDF,開發人員可以為 PDF 文件添加圖章和浮水印。 水印是出現在文件背景的透明圖像或文本,而圖章則是向新文件添加自訂訊息或圖像。

這些功能非常適合需要保護文件免遭未經授權使用或向文件添加自訂訊息的企業。

package IronPDF.ironpdf_java;

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

public class Test {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("Your-License");

        // Load an existing PDF from the filesystem
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));

        // Apply a watermark to the PDF
        pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);

        // Save the watermarked PDF
        pdf.saveAs(Paths.get("assets/watermark.pdf"));
    }
}
package IronPDF.ironpdf_java;

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

public class Test {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("Your-License");

        // Load an existing PDF from the filesystem
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));

        // Apply a watermark to the PDF
        pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);

        // Save the watermarked PDF
        pdf.saveAs(Paths.get("assets/watermark.pdf"));
    }
}
JAVA

如何在Java中寫入PDF文件,圖3:輸出PDF 輸出 PDF

背景與前景

IronPDF 還允許開發人員在 PDF 文件中實現自訂背景和前景。 前景用於在文件頂部添加自訂文字或圖像,而背景用於向背景添加自訂圖像或顏色。 希望在文件或 PDF 表單中新增自訂品牌或圖形的企業主會發現此功能特別有用。

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

public class BackgroundForegroundExample {

    public static void main(String[] args) throws IOException {
        // Load background and foreground PDFs from the filesystem
        PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
        PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));

        // Render content (HTML, URL, etc) as a PDF Document
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

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

        // Save the document with background and foreground
        pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class BackgroundForegroundExample {

    public static void main(String[] args) throws IOException {
        // Load background and foreground PDFs from the filesystem
        PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
        PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));

        // Render content (HTML, URL, etc) as a PDF Document
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

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

        // Save the document with background and foreground
        pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
    }
}
JAVA

新增和編輯註釋

註釋是為 PDF 文件添加附加資訊(例如筆記、評論或高亮顯示)的好方法。 透過 IronPDF,開發人員可以透過在 PDF 文件中新增和編輯註釋來輕鬆有效地管理註釋

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;

public class AnnotationExample {

    public static void main(String[] args) throws IOException {
        // Load an existing PDF from the file system
        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); // Add to the first page

        // Save the PDF with the modifications
        pdf.saveAs(Paths.get("assets/annotated.pdf"));
    }
}
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;

public class AnnotationExample {

    public static void main(String[] args) throws IOException {
        // Load an existing PDF from the file system
        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); // Add to the first page

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

如何在 Java 中寫入 PDF 文件,圖 4:輸出文件 輸出檔案

大綱和書籤

開發者可以使用 IronPDF 的書籤功能來增強 PDF 文件。 大綱提供文件內容的高級概覽,而書籤則提供對特定部分的快速存取。 對於篇幅較長或內容複雜的文檔,此功能可讓使用者快速導覽至所需部分。

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;

public class BookmarkExample {

    public static void main(String[] args) throws IOException {
        // Load an existing PDF from the file system
        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);

        List<Bookmark> bookmarkList = bookmarks.getBookmarks();
        Bookmark bookmark = bookmarkList.get(2);

        // Add a child bookmark
        bookmark.addChildBookmark("Conclusion", 11);

        // Save the PDF to the filesystem
        pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
    }
}
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;

public class BookmarkExample {

    public static void main(String[] args) throws IOException {
        // Load an existing PDF from the file system
        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);

        List<Bookmark> bookmarkList = bookmarks.getBookmarks();
        Bookmark bookmark = bookmarkList.get(2);

        // Add a child bookmark
        bookmark.addChildBookmark("Conclusion", 11);

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

摘要

本文探討了 IronPDF 的各種功能,例如在 PDF 文件中添加註釋、書籤、HTML 內容、背景色和前景色以及頁眉和頁腳的功能。 本文提供了使用 IronPDF 實現這些功能的詳細步驟說明,使開發人員能夠輕鬆建立滿足其特定需求的專業外觀 PDF 文件。

無論您是建立 Web 應用程式還是桌面應用程序,IronPDF 都能幫助您簡化產生 PDF 文件的流程,節省您的時間和精力,同時確保您的文件看起來很棒。

IronPDF 許可資訊以$799開始。 IronPDF 還提供免費試用版,讓開發人員在做出購買決定之前測試該程式庫並評估其功能。 在試用期內,使用者可以存取圖書館的所有功能,包括支援和更新。 試用期結束後,使用者可以選擇購買許可證繼續使用該庫。 IronPDF 的定價取決於使用該庫的開發人員數量和許可證類型。

常見問題解答

如何在 Java 中以程式化方式建立 PDF 文件?

您可以使用 IronPDF for Java 程式化地建立 PDF 文件。該函式庫提供廣泛的功能來產生高品質的 PDF,包括支援 HTML 內容、頁首、頁尾等。

有哪些方法可以將 HTML 內容加入 PDF?

IronPDF 允許開發人員使用 RenderHtmlAsPdf 方法將 HTML 內容直接新增至 PDF 中。此方法支援各種 HTML 元件和 CSS 用於造型。

我可以在 PDF 文件中加入數位簽章嗎?

是的,IronPDF 支持在 PDF 文档中添加数字签名,确保文档的真实性和安全性。

如何使用密碼保護我的 PDF 文件?

IronPDF 提供建立密碼保護 PDF 的功能,可讓您保護文件中的敏感資訊。

是否可以為 PDF 新增自訂背景和前景?

IronPDF 可讓開發人員在 PDF 中加入自訂背景和前景,其中可包含品牌元素或裝飾圖形。

大綱和書籤如何改善 PDF 中的文件導覽?

IronPdf 允許添加大綱和書簽,幫助使用者快速瀏覽 PDF 的特定部分,並提供有組織的文件結構概覽。

註解 PDF 文件有哪些選項?

使用 IronPdf,您可以添加各種註釋,如備註、註解和高亮等,增強 PDF 文件的互動性和可用性。

在 Java 應用程式中使用 IronPDF 有哪些授權選項?

IronPDF 提供多種授權選項,包括用於評估的免費試用版。許可證依開發人員數目及專案的特定需求而有所不同。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。