Java从HTML生成PDF(不丢失格式)
#编程 #java #maven #ironpdf

Java是用于大规模和企业级应用程序最常用的编程语言之一。代表便携式文档格式的PDF格式为人们提供了一种简单,可靠的方式来展示和交换文档 - 无论您查看文档的任何人使用的软件,硬件或操作系统如何。因此,PDF是一种广泛使用的格式,用于在软件应用程序中生成文档。

HTML用于表示Web浏览器中的信息。因此,应用程序的每个信息,报告,发票或网页都在HTML中。因此,我们需要学习从HTML生成PDF文件。在本教程中,我们将学习将HTML文件转换为PDF文件。

我们需要第三方库来将HTML文件转换为PDF文件。他们的利弊有多个图书馆。其中一些是付款的,有些则没有提供足够的功能,其中一些没有转换具有100%准确性的HTML文件,有些则存在性能问题。

我发现了IronPDF Java库适合此目的,因为它可以免费开发,更安全,为单个库中的所有功能提供100&精度,并且具有出色的性能。

前进之前,让我们简要介绍一下Ironpdf。

Ironpdf:

IronPDF是Ironsoftware开发的最受欢迎的Java PDF库,用于创建和编辑PDF。它的简单API使开发人员能够在HTML中创建专业的高质量PDF,包括Scala和Kotlin在内的各种Java项目。 Ironpdf通过GRPC与Ironpdfengine通信。

主要功能包括使用HTML,HTTP,JavaScript,CSS和各种图像格式创建PDF文档。我们还可以添加标头和页脚,签名,附件,密码和安全性。它提供了一吨的完整多线程支持!

现在我们将启动代码示例。

首先,我们需要创建一个新的Maven项目。

创建一个新项目:

在Java中创建新项目的步骤可能因IDE而异。我正在使用inetllij iDE,您可以使用任何。打开Intelli J IDE。单击文件>新>项目。将出现一个新窗口,如下所示。
Image description
命名您的项目,选择位置,选择语言,构建系统和JDK。单击创建按钮。将创建一个新项目。

现在,我们将在Java应用程序中安装Ironpdf。

安装Ironpdf Java库

我们需要将IronPDF定义为pom.xml文件中的依赖性,以在我们的应用程序中安装此库。打开您的pom.xml文件并在文件中添加以下XML。

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

现在,构建项目。该库将自动从maven repository中安装在我们的应用程序中。

让我们从从HTML字符串创建PDF文件的简单示例开始。

从HTML String创建PDF文件:

考虑以下示例:

 String htmlString = "<h1>My First PDF File<h1/><p> This is sample pdf file</p>";
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

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

我们已将HTML内容分配给字符串变量。 renderhtmlaspdf()函数由Ironpdf库的PDFDocument类提供,将字符串作为参数,并将HTML内容转换为PDF文档实例。 saveas()函数将位置路径作为参数,并将PDF文档实例保存到我们提供的目录中。

尝试和捕获语句用于处理任何运行时间异常。每当处理文件或数据库时,这只是一种最佳实践。

输出:

以下是上述代码生成的PDF。
Image description

将HTML文件转换为PDF文件:

我们可以将HTML文件转换为PDF文档。

以下是将在示例中进一步提出的示例HTML文件。
Rendered HTML
以下是示例代码段:

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");

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

renderhtmlfileaspdf()将HTML文件路径作为参数将其转换为PDF文档。后来,使用SaveAs()函数将此PDF文档保存到本地驱动器中。

输出:

以下是我们程序生成的PDF文档。
Image description
现在,我们将使用具有CSS和JavaScript的大型HTML文档。我们将在将HTML转换为PDF时观察其保持的准确性和设计。

将HTML文件转换为PDF文档:

我将使用以下示例HTML页面,该页面具有图像,动画,样式,jQuery和Bootstrap。
Image description
Image description
我们可以看到,示例HTML文档具有图像和复杂的样式。我们将将此HTML文件转换为PDF文档,并在样式和内容方面观察到准确性。

我们将使用与上面示例中使用的相同的代码行。

 PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

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

上一个示例中已经提供了代码说明。我们刚刚改变了路径,其余的都相同。

输出:

以下是生成的PDF:
Image description
我们可以看到,使用IronPDF生成PDF非常容易。 PDF内容和样式与源文档相同。

我们还可以使用URL生成PDF文件。

将URL转换为PDF文档:

以下代码示例将从URL生成PDF文件。

 PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");


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

renderurlaspdf()将URL作为参数,并将URL转换为PDF文档。后来,使用SaveAs()函数将此PDF文档保存到本地驱动器中。

输出:

以下是生成的PDF:
Image description
我们还可以添加水印,标头,页脚,数字签名等等。

让我们在生成的PDF中添加自定义水印,标头和页脚。

加水印:

以下代码将在我们的PDF文件中添加水印。
myPdf.applyWatermark("My Custom Watermark");

添加标题和页脚:

myPdf.addHtmlHeader(new HtmlHeaderFooter("my Header"));

添加页脚:

myPdf.addHtmlFooter(new HtmlHeaderFooter("my Header"));

同样,我们可以添加前景,复制PDF,合并PDF等。

概括:

在本教程中,我们学会了将HTML转换为PDF文档。我们已经从HTML字符串,HTML文件和URL生成了PDF文件。我们使用了简单的复杂示例。

IronPDF使将HTML转换为PDF非常容易。我们仅使用1行代码将HTML转换为PDF。它是快速,准确,更安全的。每个生成的PDF中都有铁PDF的水标。这是因为我们正在使用自由开发。版本。我们可以根据需要购买30-day free trial version或购买license来删除它。

我希望您喜欢这篇文章。随时在评论部分中询问您的查询。