html转word或pdf

简介: html转word或pdf

差以毫厘,谬以千里。——班固《汉书》

使用的组件还是Spire.Doc,可以看我这篇博客

如果我们遇到html,需要直接渲染到word或者pdf上,可以使用官方文档给的例子

import com.spire.doc.*;
import java.io.*;
public class htmlStringToWord {
    public static void main(String[] args) throws Exception {
        String inputHtml = "InputHtml.txt";
        //新建Document对象
        Document document = new Document();
        //添加section
        Section sec = document.addSection();
        String htmlText = readTextFromFile(inputHtml);
        //添加段落并写入HTML文本
        sec.addParagraph().appendHTML(htmlText);
        //文档另存为PDF
        document.saveToFile("HTMLstringToPDF.pdf", FileFormat.PDF);
    }
    public static String readTextFromFile(String fileName) throws IOException{
        StringBuffer sb = new StringBuffer();
        BufferedReader br = new BufferedReader(new FileReader(fileName));
        String content = null;
        while ((content = br.readLine()) != null) {
            sb.append(content);
        }
        return sb.toString();
    }
}

但如果我们想使用替换书签的方式去做,那就需要自己写了,官网是没有找到这个东西的

我这里写的函数可以实现

/**
 * @MethodName: fillReplaceHtml
 * @Description: 填充替换掉html标签后的文本
 * @Date: 2020/12/28 0028 15:02
 * *
 * @author: <achao1441470436@gmail.com>
 * @param: [doc, bookmarkName, data]
 * @returnValue: void
 */
public static void fillReplaceHtml(Document doc, String bookmarkName, String data) {
    // 定位书签
    BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
    bookmarkNavigator.moveToBookmark(bookmarkName);
    // 创建段落
    Paragraph para = new Paragraph(doc);
    // 创建文本内容
    TextRange textRange = para.appendText(StringUtils.replaceHtml(data));
    // 设置格式
    CharacterFormat format = textRange.getCharacterFormat();
    // 大小
    format.setFontSize(9);
    // 创建文本域
    TextBodyPart bodyPart = new TextBodyPart(doc);
    // 添加段落到文本域
    bodyPart.getBodyItems().add(para);
    // 替换书签内容
    try {
        bookmarkNavigator.replaceBookmarkContent(bodyPart);
    } catch (Exception e) {
        log.error("书签《" + bookmarkName + "》丢失", e);
    }
}
相关文章
|
2月前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
63 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
9天前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
10 0
|
2月前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
47 1
|
2月前
|
Python
还不会免费将PDF转为Word?你可以试试这3种工具!
还不会免费将PDF转为Word?你可以试试这3种工具!
|
3月前
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
155 6
|
3月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
4月前
使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
使用LabVIEW的&quot;Open a Document on Disk.vi&quot;,存于&lt;LabVIEW&gt;\vi.lib\Platform\browser.llb,可让默认应用打开硬盘文档。此VI仅基础打开功能,高级控制推荐LabVIEW Report Generation Toolkit或ActiveX。注意:避免版本升级问题,最好将VI复制到vi.lib外的目录。
132 3
|
5月前
|
Java Apache
Java将word、excel文件转成pdf文件
【5月更文挑战第26天】Java将word、excel文件转成pdf文件
1657 1
|
4月前
|
Java Maven
Java在线预览(word转html)--强势推荐
Java在线预览(word转html)--强势推荐
65 0
|
4月前
|
Java Linux 数据安全/隐私保护
libreOffice word 转 pdf
在Windows环境下,使用documents4j进行DOCX到PDF的转换大约需要20秒,而Linux环境下通过Docker配置LibreOffice进行转换,时间仅为1.4秒。documents4j仅适用于Windows且需Microsoft Office支持,libreOfficeCommand则依赖于Linux环境。Spire.Doc.Free有前4页免费但有水印,不推荐。
187 0

热门文章

最新文章

下一篇
无影云桌面