Java HTML生成PDF(格式不变)

这篇具有很好参考价值的文章主要介绍了Java HTML生成PDF(格式不变)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

我们需要一个第三方库来将 HTML 文件转换为 pdf 文件。有多个库可用,其优点和缺点。其中一些是付费的,有些没有提供足够的功能,其中一些不能以 100% 的准确性转换 HTML 文件,其中一些存在性能问题。

我发现[IronPDF](https://ironpdf.com/java/) java库非常适合此目的,因为它可以免费开发,更安全,在单个库中提供100%精度的所有功能,并且具有出色的性能。

在继续之前,让我们简要介绍一下 IronPDF。
##  IronPDF:

IronPDF是由[IronSoftware](https://ironpdf.com/java/)开发的最流行的Java PDF库,用于创建和编辑PDF。其简单的API使开发人员能够在各种Java项目中从HTML创建专业,高质量的PDF,包括Scala和Kotlin。IronPDF通过gRPC与IronPdfEngine通信。

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

现在我们将开始代码示例。

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

java后端将html生成pdf,java,java,开发语言

 

命名项目,选择位置,选择语言,生成系统和JDK。点击创建按钮。将创建一个新项目。

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

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#install-ironpdf-java-library)安装 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 存储库](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2023.1.1)自动安装到我们的应用程序中。

用 HTML 创建 pdf 文件的示例开始。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#create-pdf-file-from-html-string)从 HTML 字符串创建 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 内容分配给一个字符串变量。由 IronPDF 库的 PdfDocument 类提供的 renderHtmlAsPdf() 函数将字符串作为参数,并将 html 内容转换为 pdf 文档实例。saveAs() 函数将位置路径作为参数,并将该 pdf 文档实例保存到我们提供的目录中。

try-and-catch 语句用于处理任何运行时异常。这只是在处理文件或数据库时使用的最佳做法。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#output)输出:

以下是上述代码生成的 pdf。

![jumlqibo2pd3jxuisewv.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0c2ac0930c364773b9b0623d4a384435~tplv-k3u1fbpfcp-watermark.image?)
我们已将 HTML 内容分配给一个字符串变量。由 IronPDF 库的 PdfDocument 类提供的 renderHtmlAsPdf() 函数将字符串作为参数,并将 html 内容转换为 pdf 文档实例。saveAs() 函数将位置路径作为参数,并将该 pdf 文档实例保存到我们提供的目录中。

try-and-catch 语句用于处理任何运行时异常。这只是在处理文件或数据库时使用的最佳做法。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#output)输出:

以下是上述代码生成的 pdf。

java后端将html生成pdf,java,java,开发语言

 


以下是示例代码片段:
```
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 文件路径作为参数,并将给定的 HTML 文件转换为 pdf 文档。稍后,此pdf文档将使用saveAs()函数保存到本地驱动器中。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#output)输出:

以下是我们的程序生成的pdf文档。

java后端将html生成pdf,java,java,开发语言

 


现在,我们将使用一个包含CSS和Javascript的大型HTML文档。我们将观察它在将 html 转换为 pdf 时保持的准确性和设计。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#convert-html-files-into-a-pdf-document)将 HTML 文件转换为 PDF 文档:

我将使用以下示例 HTML 页面,其中包含图像、动画、样式、jQuery 和引导程序。

'java后端将html生成pdf,java,java,开发语言

java后端将html生成pdf,java,java,开发语言 

 



我们可以看到示例 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);
        }
    }
```
上一示例中已提供代码说明。我们只是改变了路径,其余的都是一样的。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#output)输出:

以下是生成的 pdf:


java后端将html生成pdf,java,java,开发语言
我们可以看到,使用IronPDF生成pdf非常容易。pdf 内容和样式与源文档相同。

 

 

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

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#convert-url-to-pdf-document)将网址转换为 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 文档。稍后,此pdf文档将使用saveAs()函数保存到本地驱动器中。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#output)输出:

以下是生成的 pdf:

k3u1fbpfcp/6cef5cb195894f19bc30d6b8585a5bb9~tplv-k3u1fbpfcp-watermark.image?)

java后端将html生成pdf,java,java,开发语言
我们还可以添加水印、页眉、页脚、数字签名等等。

 

让我们将自定义水印、页眉和页脚添加到生成的 pdf 中。

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#add-watermark)添加水印:

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

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#add-header-and-footer)添加页眉和页脚:

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

## [](https://dev.to/mhamzap10/java-generate-pdf-from-html-without-losing-formatting-2dam#add-footer)添加页脚:

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

同样,我们可以添加前景、复制 pdf、合并 pdf 等等。文章来源地址https://www.toymoban.com/news/detail-516965.html

到了这里,关于Java HTML生成PDF(格式不变)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【aspose之三】【springboot】java使用aspose.html 的cloud版html转pdf,html2pdf

    把url网页或本地文件html转换pdf 1.maven配置 2.代码 本地文件 html转pdf 可本地文件或url转换 pdf布局设置 2.密钥及配置 aspose配置

    2024年02月06日
    浏览(40)
  • java 发送html 格式的邮件

    在 Java 中,可以使用 JavaMail API 来发送 HTML 格式的邮件。下面是一个简单的示例代码: 在上面的代码中,首先设置了收件人、发件人、发件人密码和邮件服务器的信息。然后设置了系统属性,包括邮件服务器、SMTP 认证、SMTP 端口和 SSL 连接。接着创建一个默认的 Session 对象,

    2024年02月15日
    浏览(45)
  • java html转word、pdf(包含图片)

    maven依赖 核心代码 maven依赖 核心代码 Base64ImgReplacedElementFactory类

    2024年02月07日
    浏览(57)
  • 【Java】制作pdf模板使用后端程序填充字段生成pdf或者图片

    自行下载安装; 打开pdf文件,表单-添加或编辑域 添加文本域,调整大小,可以编辑域的名字,默认fill_1这种名字。域鼠标右键-属性,可以调整字体大小等样式,编辑好还可以锁定; 编辑好保存,这个pdf文件就可以当模板使用了; 防止中文乱码,需要在网上下载字体ttf文件

    2024年01月21日
    浏览(48)
  • java中使用Jsoup和Itext实现将html转换为PDF

    1.在build.gradle中安装所需依赖: 2.创建工具类,实现转换方法 3.base64过滤类: 4.字体类代码,window用户可在C:windowsfont中寻找自己所需字体即可。我这里用的为黑体: simhei.ttf 效果如下: html页面预览: pdf页面预览:    

    2024年02月14日
    浏览(37)
  • 前端渲染后端返回的HTML格式的数据

    在日常开发中,经常有需要前端渲染后端返回页面的需求,对于不同数据结构,前端的渲染方式也不尽相同,本文旨在对各种情况进行总结。 数据包含html标签等元素,数据类型如下图: 前端通过 js 方式处理 前端需要渲染网址中的页面,可通过iframe实现: 数据包含部分标签

    2024年02月08日
    浏览(56)
  • 前端打开后端返回的HTML格式的数据

    前端打开后端返回的 HTML格式 的数据: 注:如果后端返回的是一个网址则不使用这个方式,可以使用 iframe / 标签 在本地打开返回的网址:示例如下: iframe /  具体使用请参考

    2024年02月12日
    浏览(48)
  • 【PDF】html/dom生成pdf

    上一篇博客主要讲的是pdf文件转换成canvas,然后进行相关的画框截图操作。 【PDF】Canvas绘制PDF及截图 本篇博客主要讲html中dom如何生成pdf文件(前端生成pdf),后端生成pdf当然也可以,原理也是将html网页通过后端服务导出成pdf,然后css设置break-after:always;作为分页逻辑,但是

    2024年02月16日
    浏览(38)
  • 批量PDF转HTML:高效管理与优化文档格式

    随着数字化时代的快速发展,PDF文件因其跨平台兼容性和良好的排版效果而被广泛应用。然而,在文本批量管理的场景中,我们可能需要将PDF文件转换为HTML格式,以便更好地进行编辑、搜索和定制。本文将为您介绍一种高效的方法,帮助您轻松实现PDF到HTML的批量转换。 首先

    2024年03月13日
    浏览(66)
  • java实现带有html格式和附件的符合RFC822规范的eml格式的信件原文组装

    html传递就是解析成带有 html标签的字符串在正文中传递即可 From:综合运行平台 to:111@qq.com // 重点是格式设置成text/html 编码的话需要设置成UTF-8,不然可能直接在正文中展示html标签,为不是解析成具体的样式 Content-Type: text/html;charset=UTF-8 subject:主题 邮件正文 From:综合运行平台

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包