跳至页脚内容
在 JAVA 中使用 IRONPDF

Java 的 PDF 创建者 (逐步教程)

本文将演示如何使用用Java编程语言编写的PDF创建器创建PDF文件。

使用Java创建PDF文件在IT行业有很多应用。 开发人员有时可能需要将PDF创建器集成到他们的项目中。 本文讨论的PDF创建器是IronPDF for Java。 它帮助开发人员从头创建新的PDF文档,并将不同的文件格式转换为PDF文档。

1. IronPDF for Java

IronPDF for Java是一个用于创建、准备和管理PDF文件的Java库。 它允许开发人员读取、生成和修改PDF文件,而无需安装任何Adobe软件。

IronPDF is also amazing at creating PDF forms from a PDF file. IronPDF for Java can create custom headers and footers, create signatures, add attachments, and add password encryption and security mechanisms. IronPDF还支持多线程和异步功能以提高性能。

class="hsg-featured-snippet">

如何在Java中使用PDF创建器

  1. 安装Java库以创建PDF
  2. 使用renderHtmlAsPdf方法从HTML字符串创建PDF
  3. 将HTML文件路径传递给renderHtmlFileAsPdf方法以创建PDF
  4. 使用renderUrlAsPdf方法在Java中从URL链接创建PDF
  5. 利用fromImage方法从图像创建PDF

2. 先决条件

在开始之前,有一些先决条件需要满足才能进行PDF创建。

  1. 系统上应安装Java,并在环境变量中设置其路径。 如尚未安装,请参考此安装指南以安装Java。 2.应安装良好的 Java IDE,如 Eclipse 或 IntelliJ。 To download Eclipse, please visit this download page, or click on this installation page to install IntelliJ.
  2. 在开始使用PDF转换之前,Maven应与IDE集成。 要了解有关安装Maven并将其集成到环境中的教程,请访问以下JetBrains的集成链接

3. IronPDF for Java安装

一旦满足所有先决条件,安装IronPDF for Java非常简单,即使是初学Java的开发人员也如此。

本文将使用JetBrains IntelliJ IDEA来安装库和执行代码示例。

首先,打开 JetBrains IntelliJ IDEA 并创建一个新的 Maven 项目。

PDF Creator For Java (Step-By-Step)教程,图1:新项目 新项目

将出现一个新窗口。 输入项目名称并点击完成。

PDF Creator For Java (Step-By-Step)教程,图2:配置新项目 配置新项目

点击完成后,新项目将打开到pom.xml文件,然后使用此文件添加一些Maven项目依赖项。

PDF Creator For Java (Step-By-Step)教程,图3:pom.xml文件 pom.xml文件

pom.xml文件中添加以下依赖项。

<dependencies>
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version> <!-- Replace with the latest version -->
    </dependency>
</dependencies>
<dependencies>
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version> <!-- Replace with the latest version -->
    </dependency>
</dependencies>
XML

将依赖项放置在pom.xml文件中后,文件的右上角将出现一个小图标。

PDF Creator For Java (Step-By-Step)教程,图4:带有用于安装依赖项的图标的pom.xml文件 带有用于安装依赖项的图标的pom.xml文件

点击此图标安装 IronPDF for Java 的 Maven 依赖项。 这只需几分钟,具体取决于您的互联网连接。

4. 创建PDF文件

本部分将讨论如何使用IronPDF for Java创建新的PDF文档。 IronPDF使得仅通过几行代码就非常容易创建新的PDF文档。

使用IronPDF for Java有很多种不同方式来创建PDF文件

4.1. 使用HTML字符串创建PDF文档

下面的代码示例显示了如何使用renderHtmlAsPdf方法将HTML标记字符串转换为PDF。 请注意,使用renderHtmlAsPdf方法需要对HTML的基本工作原理有基本了解。

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

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a simple HTML string into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a simple HTML string into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述代码的输出如下所示。

PDF Creator For Java (Step-By-Step)教程,图5:输出文件 输出文件

4.2. 从HTML文件创建PDF文件

IronPDF库的renderHtmlFileAsPdf方法允许您从HTML源文件生成新的PDF文件。此方法将HTML文档中的所有内容转换为PDF,包括图形、CSS、表单等。

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

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert an HTML file into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert an HTML file into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述代码示例的输出如下所示。

PDF Creator For Java (Step-By-Step)教程,图6:从HTML文件输出文件 从HTML文件输出文件

4.3. 从URL创建PDF文件

使用IronPDF,您可以以极高的精度和准确性快速从网页URL创建PDF。 它还提供从凭证锁定的网站创建PDF文件的能力。

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

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a web page URL into a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.alibaba.com/");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a web page URL into a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.alibaba.com/");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述代码的输出如下所示。

PDF Creator For Java (Step-By-Step)教程,图7:来自阿里巴巴网站的输出PDF文件 来自阿里巴巴网站的输出PDF文件

4.4. 从图像创建PDF文件

IronPDF for Java还可以从一张或多张图像创建PDF文件。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        Path imageDirectory = Paths.get("assets/images"); // Define the directory to search for images
        List<Path> imageFiles = new ArrayList<>();
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry: stream) {
                imageFiles.add(entry); // Add each image file to the list
            }
            // Convert images into a composite PDF document
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            // Handle the exception if an error occurs during image-to-PDF conversion
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                exception);
        }
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        Path imageDirectory = Paths.get("assets/images"); // Define the directory to search for images
        List<Path> imageFiles = new ArrayList<>();
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry: stream) {
                imageFiles.add(entry); // Add each image file to the list
            }
            // Convert images into a composite PDF document
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            // Handle the exception if an error occurs during image-to-PDF conversion
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                exception);
        }
    }
}
JAVA

上述代码的输出如下所示。

PDF Creator For Java (Step-By-Step)教程,图8:来自图像的输出PDF文件 来自图像的输出PDF文件

5. 结论

本文演示了如何从头创建PDF或从已有的HTML文件或URL创建PDF。 IronPDF允许从多种格式转换以生成高质量的PDF,并且非常容易操作和格式化这些PDF文件。

IronPDF非常适合需要处理、修改或操作PDF文件的软件开发人员和企业。 若要了解有关IronPDF for Java的更多信息,以及获取如何使用Java操作PDF的类似教程,请参考以下官方文档。 有关使用Java创建PDF文件的教程,请访问此Java代码示例

IronPDF for Java 用于开发目的是免费的,但用于商业用途则需要许可证。 有关许可的更多信息,请访问以下许可页面

常见问题解答

如何使用Java创建PDF文件?

您可以使用IronPDF for Java库创建PDF文件,该库允许您从头生成PDF或将各种格式如HTML、URL或图像转换为PDF文档。

在IntelliJ IDEA中安装PDF库的步骤是什么?

要在IntelliJ IDEA中安装IronPDF,设置Maven项目并将IronPDF的Maven依赖添加到pom.xml文件中。然后,使用您的IDE管理安装。

我可以在Java的PDF中添加自定义页眉和页脚吗?

可以,IronPDF for Java允许您通过其API方法自定义PDF文档,添加页眉和页脚。

如何在Java中将HTML文件转换为PDF文档?

您可以使用IronPDF for Java库中的renderHtmlFileAsPdf方法将HTML文件转换为PDF文档。此方法保留了图形、CSS和表单。

在Java中可以加密PDF文件吗?

可以,IronPDF for Java支持PDF文件的密码加密,允许您有效保护文档。

如何使用图像在Java中创建PDF文档?

IronPDF for Java提供了一种名为fromImage的方法,可让您从一个或多个图像创建PDF文档。

IronPDF for Java支持多线程吗?

可以,IronPDF for Java包括多线程和异步功能,以提高处理PDF文档时的性能。

如果我的PDF创建在Java中失败,该怎么办?

确保正确安装了IronPDF for Java,并且您的Java环境已正确配置。检查代码中使用IronPDF方法的任何错误,并参考官方文档进行故障排除。

我可以在Java中将网页URL转换为PDF吗?

可以,IronPDF for Java允许您使用renderUrlAsPdf方法将网页URL转换为PDF文档。

我在哪里可以找到学习使用IronPDF for Java的资源?

您可以在官方IronPDF文档页面上找到使用IronPDF for Java的完整教程和文档。

Darrius Serrant
全栈软件工程师(WebOps)

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。