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天前
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
42 8
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
2月前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
2月前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
443 1
|
2月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
586 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
2月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
130 2
|
2月前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
218 0
|
4月前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
96 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
3月前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
163 0
|
4月前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
77 1
|
4月前
|
Python
还不会免费将PDF转为Word?你可以试试这3种工具!
还不会免费将PDF转为Word?你可以试试这3种工具!
下一篇
DataWorks