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

Java PDF 渲染器库 (开发人员教程)

Java PDF库简介,IronPDF

如果您正在进行一个Java项目,并需要从HTML生成PDF文档或从PDF中提取文本,您应该寻找一个可靠且高效的Java PDF库。 您可能会偶然发现IronPDF - Java PDF Library,它简化了PDF生成和PDF文档的操作,使您的开发工作更加轻松。 市场上有许多PDF库,如PDF Clown或iText,但本文将深入探讨IronPDF的世界,并探索它如何在您的Java项目中提供帮助。

开始使用 IronPDF.

IronPDF是一个Java库,可以在Java应用程序中创建、读取和编辑PDF文档。 这个多功能库支持从HTML生成PDF与IronPDF,现有PDF文件和URL。 您可以使用IronPDF从PDF中提取文本,使其成为任何处理PDF文档的Java开发者必备的工具。

在Maven项目中安装IronPDF

Maven是Java项目中流行的构建自动化和依赖管理工具。 要在您的Maven项目中安装IronPDF,您需要将必要的依赖项添加到您的pom.xml文件中。

以下是如何将IronPDF及其所需的日志器依赖项SLF4J添加到您的Maven项目中:

  1. 打开您的项目的pom.xml文件。
  2. 找到dependencies部分。 如果不存在,则创建一个。
  3. 添加以下IronPDF和SLF4J的依赖项条目:

    <dependencies>
        <!-- IronPDF Dependency -->
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <!-- SLF4J Dependency (Simple Logging Facade for Java) -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    <dependencies>
        <!-- IronPDF Dependency -->
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <!-- SLF4J Dependency (Simple Logging Facade for Java) -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    XML
  4. 保存 pom.xml 文件。
  5. 运行您的Maven项目,可以通过您的IDE或在项目根目录中执行mvn install命令来运行。 Maven将自动下载并将IronPDF和SLF4J依赖项添加到您的项目中。

现在,您已经成功将IronPDF添加到您的Maven项目中,您可以开始使用这个强大的Java PDF库在Java应用程序中创建、编辑和操作PDF文档。 别忘了查看IronPDF文档,以获取更多示例以及该库功能和能力的详细信息。 让我们在这里探索一些功能。

渲染HTML到PDF

处理PDF时最常见的任务之一是使用IronPDF将HTML转换为PDF。 IronPDF只需几行代码即可轻松完成此操作。 这是一个示例,演示了如何将简单的HTML字符串转换为PDF文档:

import com.ironsoftware.ironpdf.*;

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

public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // 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"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

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

public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // 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"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

这个代码片段导入了必要的IronPDF类并应用了一个许可证密钥。 接下来,它为调试目的设置了一个日志路径。 renderHtmlAsPdf方法以HTML字符串作为输入,并将其转换为PDF文档,您随后可以将其保存到文件。

Java PDF渲染器库(开发者教程),图1:输出PDF文件 输出的PDF文件

将HTML文件转换为PDF

IronPDF还支持将HTML文件转换为PDF文档。 过程与上一个示例非常相似,只是在使用的方法上有细微的变化:

import com.ironsoftware.ironpdf.*;

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

public class HtmlFileToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

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

            // Render the HTML file as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

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

public class HtmlFileToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

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

            // Render the HTML file as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

在这种情况下,使用renderHtmlFileAsPdf方法而不是renderHtmlAsPdf,将HTML文件的路径作为输入并创建PDF文档。

将URL转换为PDF

IronPDF能够将网页转换为PDF文档。 当您想从动态网页生成PDF报告时,这尤其有用。 以下代码片段演示了如何做到这一点:

import com.ironsoftware.ironpdf.*;

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

public class UrlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

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

            // Render the URL as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

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

public class UrlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

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

            // Render the URL as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

renderUrlAsPdf方法将一个URL作为输入,并从网页的内容中创建PDF文件。 此方法可以处理复杂页面,包括那些使用JavaScript和CSS的页面。

Java PDF渲染器库(开发者教程),图2:来自URL的输出PDF文件 从URL生成的输出PDF文件

从PDF中提取文本

除了创建PDF之外,IronPDF还提供从现有PDF文档中提取文本的功能。 此功能在您需要搜索、索引或分析PDF文件的内容时可能会有用。以下代码片段展示了如何从PDF文档中提取文本:

import com.ironsoftware.ironpdf.*;

public class ExtractTextFromPdfExample {
    public static void main(String[] args) {
        // Render PDF from a URL
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");

        // Extract all text from the PDF document
        String text = pdf.extractAllText();

        // Output the extracted text
        System.out.println("Text extracted from the PDF: " + text);
    }
}
import com.ironsoftware.ironpdf.*;

public class ExtractTextFromPdfExample {
    public static void main(String[] args) {
        // Render PDF from a URL
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");

        // Extract all text from the PDF document
        String text = pdf.extractAllText();

        // Output the extracted text
        System.out.println("Text extracted from the PDF: " + text);
    }
}
JAVA

在这个示例中,PDF是从URL渲染的,并使用extractAllText方法来获取PDF文档的文本内容。 提取的文本随后可以打印到控制台或根据需要进行操作。

使用IronPDF将图像转换为PDF

IronPDF还可以将图像转换为PDF文档。 当您需要创建PDF作品集或将多个图像合并为一个文件时,这可以派上用场。以下代码片段演示了如何将目录中的一组图像转换为一个PDF文档:

import com.ironsoftware.ironpdf.*;

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

public class ImagesToPdfExample {
    public static void main(String[] args) {
        Path imageDirectory = Paths.get("assets/images");

        List<Path> imageFiles = new ArrayList<>();

        // Use DirectoryStream to iterate over image files
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry : stream) {
                imageFiles.add(entry);
            }

            // Convert images to a PDF document and save it
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            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 ImagesToPdfExample {
    public static void main(String[] args) {
        Path imageDirectory = Paths.get("assets/images");

        List<Path> imageFiles = new ArrayList<>();

        // Use DirectoryStream to iterate over image files
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry : stream) {
                imageFiles.add(entry);
            }

            // Convert images to a PDF document and save it
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                    exception);
        }
    }
}
JAVA

仅需此一个代码片段,IronPDF即可轻松将多个图像转换为单个PDF文档,进一步展示了该库在各种PDF相关任务中的多功能性和实用性。

结论

IronPDF是一个功能强大且多功能的Java PDF库,可以简化Java应用程序中的PDF生成和操作。 With its easy-to-use API, you can effortlessly convert HTML, HTML files, and URLs into PDF documents using IronPDF, as well as extract text from PDFs from existing PDF files. 通过将IronPDF集成到您的Java项目中,您可以简化工作流程,轻松创建高质量的PDF。

Additionally, IronPDF is also capable of rendering charts in PDFs, watermarking PDF documents, working with PDF forms and digital signatures programmatically.

IronPDF提供了免费试用,为您提供充足的时间来评估其功能并确定其是否适合您的项目。 如果您决定在试用期后继续使用IronPDF,许可费用从$799开始。

常见问题解答

Java PDF 库 IronPDF 用于什么?

IronPDF 是一个 Java 库,旨在便于在 Java 应用程序中创建、读取和编辑 PDF 文档。它在将 HTML、HTML 文件和 URL 转换为 PDF 时表现出色,只需极少的编码工作。

如何将 PDF 库集成到 Maven 项目中?

要将 IronPDF 集成到 Maven 项目中,您需要在 `` 部分添加 IronPDF 和 SLF4J 依赖项。此设置允许 Maven 下载并将这些依赖项集成到您的项目中。

如何使用 Java 将 HTML 转换为 PDF?

在 Java 中可以使用 IronPDF 的 renderHtmlAsPdf 方法将 HTML 转换成 PDF。此方法处理 HTML 字符串并生成 PDF 文档。

我可以将 HTML 文件转换为 PDF 文档吗?

可以,IronPDF 允许您使用 renderHtmlFileAsPdf 方法将 HTML 文件转换为 PDF,此方法读取 HTML 文件并输出 PDF 文档。

在 Java 中是否可以将网页转换为 PDF?

可以,使用 IronPDF,您可以通过 renderUrlAsPdf 方法将网页转换为 PDF。此方法获取一个 URL 并从网页内容创建一个 PDF。

如何在 Java 中以编程方式从 PDF 文档中提取文本?

您可以使用 IronPDF 的 extractAllText 方法从 PDF 中提取文本,此方法检索并输出 PDF 文档中的文本内容。

可以使用 Java 库将图像转换为 PDF 吗?

可以,IronPDF 支持将图像转换为 PDF。可以使用 fromImage 方法将单个或多个图像转换为单个 PDF 文档。

IronPDF 提供了哪些用于 PDF 操作的附加功能?

IronPDF 提供了额外功能,例如在 PDF 中呈现图表、添加水印以及处理 PDF 表单和数字签名,这些都可以通过编程来管理。

是否提供用于测试 IronPDF 的免费试用版?

是的,IronPDF 提供免费试用版以供评估,让您在购买前测试其功能。

在哪里可以找到有关在 Java 中使用 IronPDF 的更多信息和示例?

有关在 Java 中使用 IronPDF 的详细信息和示例,请参阅官方 IronPDF 文档,其中提供全面的指南和代码片段。

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

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

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

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