国产化Word处理控件Spire.Doc教程:通过Java简单快速的将 HTML 转换为 PDF

在处理 HTML 文件时,你可能会发现它们在不同的浏览器和屏幕尺寸下的显示效果并不一致。而将 HTML 转换为 PDF 则可以有效地保留其布局和格式,从而确保内容在不同设备和平台上的呈现保持一致。本文将介绍如何在 ++Spire.Doc for Java++ 的帮助下通过 Java 将 HTML 文件或 HTML 字符串转换为 PDF

Spire.Doc for Java下载

安装 Spire.Doc for Java

Spire.Doc for Java是一款功能强大且专业的 Java 组件,可用于在不依赖 Microsoft Office 的环境下轻松处理 Word 文档,实现文档自动化操作。 要在项目中安装 Spire.Doc,有两种常见方式:

手动引入 :将 Spire.Doc.jar 文件添加为 Java 项目的依赖项。你可以从慧都网站**++下载++** 该 JAR 文件。

使用 Maven 管理依赖 :如果你使用的是 Maven 项目,可以在 pom.xml 文件中添加以下依赖代码来导入 Spire.Doc:

复制代码
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>15.5.1</version>
    </dependency>
</dependencies>

通过 Java 将 HTML 文件转换为 PDF

在很多情况下,为了确保文档在不同设备上具有一致的显示效果、避免排版错乱,将 HTML 转换为 PDF 是一种理想的解决方案。由于 PDF 具有固定版式的特点,它能在各种终端上保持一致的排版与布局。 借助 Spire.Doc,你可以轻松地将 HTML 文件转换为 PDF。只需使用 Document.saveToFile() 方法即可实现。具体操作步骤如下:

● 创建一个 Document 对象。

● 通过 Document.loadFromFile() 方法加载 HTML 文件。

● 使用 Document.saveToFile(String fileName, FileFormat.PDF) 方法将 HTML 文件转换并保存为 PDF 格式。

复制代码
import com.spire.doc.*;
import com.spire.doc.documents.XHTMLValidationType;

public class htmlFileToPdf {
   public static void main(String[] args) {

       // 创建一个 Document 类的对象
       Document document = new Document();

       // 加载一个 HTML 文件
       document.loadFromFile("E:/Administrator/Python1/input/项目进度.html", FileFormat.Html, XHTMLValidationType.None);

       // 将 HTML 文件保存为 PDF
       document.saveToFile("E:/Administrator/Python1/output/HTML转PDF.pdf", FileFormat.PDF);
       document.dispose();
   }
}

通过 Java 将 HTML 字符串转换为 PDF

要将 HTML 字符串转换为 PDF,你可以先通过 Paragraph.appendHTML() 方法将该字符串添加到 Word 文档中的段落里,然后再将文档保存为 PDF 文件。具体操作步骤如下:

● 创建一个 Document 对象。

● 使用 Document.addSection() 方法添加一个节。

● 使用 Section.addParagraph() 方法添加一个段落。

● 指定 HTML 字符串,并通过 Paragraph.appendHTML() 方法将其添加到段落中。

● 使用 Document.saveToFile(String fileName, FileFormat.PDF) 方法将文档保存为 PDF 格式。

下方代码展示了如何将一个包含文本和表格内容的 HTML 字符串转换为 PDF:

复制代码
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;

import java.io.*;

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

       // 创建一个 Document 类的对象
       Document document = new Document();

       // 在文档中添加一个节
       Section sec = document.addSection();

       // 在节中添加一个段落
       Paragraph paragraph = sec.addParagraph();

       // 自定义 HTML 字符串
       String htmlString = "<!DOCTYPE html>\n" +
               "<html lang=\"zh-CN\">\n" +
               "<head>\n" +
               "  <meta charset=\"UTF-8\">\n" +
               "  <title>月度销售报告</title>\n" +
               "  <style>\n" +
               "    body {\n" +
               "      font-family: \"Microsoft YaHei\", sans-serif;\n" +
               "      line-height: 1.6;\n" +
               "      padding: 20px;\n" +
               "    }\n" +
               "    table {\n" +
               "      border-collapse: collapse;\n" +
               "      width: 60%;\n" +
               "      margin-top: 20px;\n" +
               "    }\n" +
               "    th, td {\n" +
               "      border: 1px solid #666;\n" +
               "      padding: 8px 12px;\n" +
               "      text-align: center;\n" +
               "    }\n" +
               "    th {\n" +
               "      background-color: #f2f2f2;\n" +
               "    }\n" +
               "  </style>\n" +
               "</head>\n" +
               "<body>\n" +
               "\n" +
               "  <h2>月度销售报告</h2>\n" +
               "\n" +
               "  <p>本月销售部门整体表现良好。下表为部分地区销售数据汇总:</p>\n" +
               "\n" +
               "  <table>\n" +
               "    <tr>\n" +
               "      <th>地区</th>\n" +
               "      <th>负责人</th>\n" +
               "      <th>销售额(万元)</th>\n" +
               "      <th>完成率</th>\n" +
               "    </tr>\n" +
               "    <tr>\n" +
               "      <td>华北地区</td>\n" +
               "      <td>张伟</td>\n" +
               "      <td>150</td>\n" +
               "      <td>125%</td>\n" +
               "    </tr>\n" +
               "    <tr>\n" +
               "      <td>华东地区</td>\n" +
               "      <td>李静</td>\n" +
               "      <td>120</td>\n" +
               "      <td>100%</td>\n" +
               "    </tr>\n" +
               "  </table>\n" +
               "\n" +
               "</body>\n" +
               "</html>\n";

       // 将 HTML 字符串添加到段落中
       paragraph.appendHTML(htmlString);

       // 将 HTML 字符串保存为 PDF 文件
       document.saveToFile("E:/Administrator/Python1/output/htmlString转PDF.pdf", FileFormat.PDF);
       document.dispose();
   }
}

结尾

本指南介绍了如何使用 Java 将 HTML 文件或 HTML 字符串转换为 PDF 文件。借助 Spire.Doc,你可以轻松实现这一过程,快速高效地完成文档转换任务。

相关推荐
AI人工智能+电脑小能手几秒前
【大白话说Java面试题 第207题】【09_Zookeeper篇】第8题:谈谈 ZooKeeper 的可靠性保障机制
java·zookeeper·高可用·可靠性·分布式系统
harmful_sheep7 分钟前
maven多版本包导致java.lang.NoClassDefFoundError
java·maven
Mark_ZP18 分钟前
【锁2】锁的分类与概念
java·
caishenzhibiao32 分钟前
顺势捕猎者副图 同花顺期货通指标
java·c语言·c#
笨蛋不要掉眼泪1 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
Mark_ZP1 小时前
【锁6】AQS (AbstractQueuedSynchronizer) 核心原理详解
java
AI砖家1 小时前
多商户多租户系统架构设计文档(Java版)
java·开发语言·系统架构·多租户·多商户
落苜蓿蓝2 小时前
Java 循环中对象复用导致属性覆盖?从 JVM 内存模型讲解原因
java·jvm·python
weixin_440784112 小时前
Android基础知识汇总
android·java·android studio
布鲁飞丝2 小时前
从零实现富文本编辑器#-浏览器选区与编辑器选区模型同步
java·前端·编辑器