Java创建PDF(不丢失格式)
#java #pdf #maven #ironpdf

在本教程中,我们将学习在Java中创建PDF文件。我们将首先创建一个简单的PDF文件,然后格式化文件并添加水印。

您需要对HTML有基本的了解,而Java可以轻松理解本教程。

我们需要第三方库来创建PDF文件。有多个可用的库可以有助于此目的。他们中的大多数要么难以使用,要么丢失格式,要么付费或遇到性能问题。因此,很难找到免费的库,提供准确性并且具有高速。

我发现Ironpdf对于在Java中创建PDF文件有用,因为它优先考虑准确性,易用性和速度。我将在本教程中使用Ironpdf,因此最好先了解Ironpdf的功能。

Ironpdf:

Ironpdf是由Iron Software开发和维护的库,可帮助软件工程师在其项目中创建,编辑和提取PDF内容。
Ironpdf由Java,Kotlin和Scala支持。它是对开发人员友好的,并在单个库中提供了各种功能。

现在,我们需要创建一个示例项目,以演示Java中的PDF文件的创建。

以下功能:

  1. 从HTML,URL,JavaScript,CSS和许多图像格式生成PDF
  2. 添加标头/页脚,签名,附件,密码和安全性
  3. 性能优化:完整的多线程和异步支持
  4. 以及更多!访问他们的网站以查看所有代码示例和a full list of their 50+ features 现在,我们需要创建一个示例项目,以演示Java中的PDF文件的创建。

创建一个项目:

我正在使用IntellijID。您可以使用任何。创建新项目的步骤可能因IDE而异。

打开Intellij IDE。单击“文件”>“新>新项目”。以下屏幕将显示。

Create New Project in Java
命名您的项目,选择项目位置,语言,构建系统和JDK。单击创建按钮。将创建新项目,如下所示。 pom.xml将默认打开。

Maven Pom.xml
现在,我们需要安装Ironpdf库以使用其功能。

安装Ironpdf库:

在pom.xml文件中添加以下XML内容。不要删除已经存在的内容。只需将其放在属性标签后面。

<dependencies>

        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2022.11.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>2.0.3</version>
        </dependency>

    </dependencies>

打开终端并输入以下命令。
mvn install
它将安装库并构建项目,如下所示。

MVN Install IronPDF
现在,让我们编写代码以在Java中创建PDF文件。

创建PDF文件:

现在,首先,创建一个简单的PDF文件以了解该过程,后来在教程中,我们将格式化文件。

PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is Sample PDF File");

// Save the PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("html_saved.pdf"));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

renderhtmlaspdf()函数PDFDocument类提供

saveas()函数将文件路径作为参数采用,并将PDF保存在给定路径中。如果已经存在具有相同名称的文档,它将覆盖,否则将创建一个新文档。

输出:

以下是我们程序生成的输出。

NEW PDF Document
现在,让我们格式化我们的PDF文件。

格式化我们的PDF文件:

在以下示例代码中,我在文本中添加了标题,段落,粗体和斜体。我们可以使用HTML标签添加任何类型的格式。

 public static void main(String[] args) throws IOException {

        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>This is Heading</h1><p>This is <b>Paragraph</b> for creating pdf file in <i>java</i></p>");

// Save the PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("html_saved.pdf"));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

h1标签将添加标题,p标签将添加新段落,b标签将粗体,我的标签将使文字变成斜体。

因此,要格式化PDF文件,我们需要对HTML标签有基本的了解。

输出:

以下是我们代码生成的输出。

Formatted PDF
现在,让我们将列表添加到我们的PDF文档中。

使用Java在PDF文档中创建列表的代码:

 PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>This is Heading</h1><p>This is <b>Paragraph</b> for creating pdf file in <i>java</i></p><h2>An Unordered List</h2>\n" +
                "\n" +
                "<ul>\n" +
                "  <li>Coffee</li>\n" +
                "  <li>Tea</li>\n" +
                "  <li>Milk</li>\n" +
                "</ul>  \n" +
                "\n" +
                "<h2>An Ordered List</h2>\n" +
                "\n" +
                "<ol>\n" +
                "  <li>Coffee</li>\n" +
                "  <li>Tea</li>\n" +
                "  <li>Milk</li>\n" +
                "</ol> ");

上面的示例代码将在我们的PDF文档中创建有序和无序的列表。生成的PDF为:

输出:

Create List in PDF
可以看出,使用Java创建PDF文件并根据我们的要求将其格式化多么容易。我们可以像使用HTML页面一样工作,并操纵PDF文档。

我们可以通过Ironpdf使用1行代码轻松地在文档中添加水印。

在我们的PDF文件中添加水印:

以下代码行将在我们的PDF文件中添加水印。
myPdf.applyWatermark("MY Custom Watermark");
PDF文档类提供了ApplyWaterNark()函数。它需要水印文本和其他可选论点,例如不透明度,垂直对准,水平对齐等。

输出:

以下是我们程序生成的PDF文件。

Image description

概括:

在上面的教程中,我们学会了创建一个PDF文件,格式化PDF文件,在我们的PDF文件中添加列表和水印。除此之外,我们还可以创建一个受密码保护的PDF文件,数字签名PDF文件和PDF表单,将图像文件添加到PDF,从PDF中提取内容,并从PDF中添加图像,添加页脚,标头等。我们不能一堂课涵盖所有教程。您可以从此link中找到更多代码示例。

IronPDF的开发版中添加了水印。您可以通过购买许可证或免费试用30天来删除此问题。请单击here以获取许可信息。