Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >html转word或pdf

html转word或pdf

作者头像
阿超
发布于 2022-08-16 10:45:26
发布于 2022-08-16 10:45:26
2.8K00
代码可运行
举报
文章被收录于专栏:快乐阿超快乐阿超
运行总次数:0
代码可运行

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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();
    }
}

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

我这里写的函数可以实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * @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);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用java操作word
Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Spire.Doc for Java 的运行环境无需安装 Microsoft Office。
阿超
2022/08/16
1.7K0
spire.doc渲染pdf时富文本处理
使用spire.doc渲染富文本的话,可以使用Paragraph中的appendHTML()函数去渲染富文本,例如下面
阿超
2022/08/16
6450
spire.doc渲染pdf时富文本处理
如何将word转为html_word转html工具
推荐可以试用Free Spire.Doc for Java免费控件哦,它支持将html string和html file转word,代码操作简单,转换效果也很好。
全栈程序员站长
2022/11/04
2.6K1
Spire.Doc组件读取与写入Word
用户1168362
2018/01/05
2K0
Spire.Doc组件读取与写入Word
用golang在服务端将html转为word(docx)尝试
我用goquery+github.com/unidoc/unioffice来尝试一下。
hotqin888
2019/12/20
8.3K0
用golang在服务端将html转为word(docx)尝试
Java生成pdf文件,解决中文乱码问题
如下代码使用itext生成pdf文件,通过设置中文字体避免乱码。 /** AsianTest.java */ import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.*; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.Font; impo
代码伴一生
2021/09/19
3.1K0
开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
彭泽0902
2018/01/04
7.9K0
使用Spire.Office for .NET(Word、Excel、PPT、PDF等)的初步感受
  本文大部分内容来自http://www.codeproject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET。
aehyok
2018/08/31
2.8K0
使用Spire.Office for .NET(Word、Excel、PPT、PDF等)的初步感受
Java 给 Word 文档每一页添加不同图片水印
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法。下面,将以Java代码为例,对Word每一页设置不同的图片水印效果作详细介绍。
FHAdmin
2022/02/10
1K0
请看完这个Java对Word的骚操作,太实用了
创建表格,包括添加数据、插入表格、合并单元格、设置表格样式、单元格居中、单元格背景色,单元格字体样式等设置,可参考这篇文章里的内容。
用户5224393
2020/03/12
2.6K0
请看完这个Java对Word的骚操作,太实用了
C#中PDFsharp & MigraDoc Foundation 相关用法 (一)
tangmanger
2023/10/07
1.4K0
Java实现word文档在线预览,读取office(word,excel,ppt)文件
想要实现word或者其他office文件的在线预览,大部分都是用的两种方式,一种是使用openoffice转换之后再通过其他插件预览,还有一种方式就是通过POI读取内容然后预览。 一、使用openoffice方式实现word预览 主要思路是: 1.通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexPaper文档组件在页面上进行展示 我使用的工具版本: openof:3.4.1 swfT
二十三年蝉
2018/05/09
38.2K4
100天精通Python丨办公效率篇 —— 12、Python自动化操作office-word(word转pdf、转docx、段落、表格、标题、页面、格式)
可以使用 Python 的 win32com 模块实现将 Word 文档批量转化为 PDF 格式。首先,需要安装 win32com 模块和 Word 应用程序(仅适用于 Windows 操作系统)。
不吃西红柿
2023/04/21
1.4K0
100天精通Python丨办公效率篇 —— 12、Python自动化操作office-word(word转pdf、转docx、段落、表格、标题、页面、格式)
Android 使用 ApachePOI 组件读写 Word doc 和 docx 文件
最近在项目中要生成Word的doc和docx文件,一番百度google之后,发现通过java语言实现的主流是Apache的POI组件。除了POI,这里还有另一种实现,不过我没有去研究,有兴趣的同学可以研究研究。 关于POI可以访问Apache POI的官网获取详细的信息。 进入主题! 由于项目中只是用到了doc和docx的组件,下面也只是介绍这两个组件的使用 一、在Android Studio中如何用POI组件 从POI官网上看,貌似暂并不支持IntelliJ IDE,如下图,所以这里我们采用直接下载ja
非著名程序员
2018/02/02
4.6K0
Android 使用 ApachePOI 组件读写 Word doc 和 docx 文件
java Word 转 PDF格式
注:免费版有文件大小限制,可以替换成正式版,但是正式版有版权提示如下,内容不受影响
FHAdmin
2021/07/22
3.8K1
Java Html转pdf实战
年尾手头没啥事,干起了打杂工作,最近帮忙解决后端项目里一个html批量转pdf速度慢的问题,项目里用到的转换工具是 wkhtmltopdf ,这货转单个html还好,批量转速度就慢了。几经摸索(各种baidu、google......)各种测试后,终于找到个性能不错的工具 —— phantomjs
Zachary46
2018/12/27
9.5K1
Java 操作 Office:POI word 之文档信息提取
工作忙碌,又是好久不见。最近频繁地在与文档开发打交道,除了之前做过的文档生成,最近又在调研文档内容提取、解析相关的内容。顺手整理下来,供各位开发同学参考。
程序员架构进阶
2022/04/27
4.6K2
Java 操作 Office:POI word 之文档信息提取
SpringBoot集成itextpdf动态生成pdf并展示
接上文SpringBoot集成markdown实现文档管理,对于表格的支持markdown不是特别友好,同时内部文档管理需要增加表格式api接口文档的功能,所以决定采用结合数据库存储与动态生成pdf借助目录结构展示的方式
code2roc
2023/07/19
1.1K0
SpringBoot集成itextpdf动态生成pdf并展示
word转pdf的java实现_java实现word转pdf
目前发现可用的实现方式有两种,一种是使用e-iceblue的免费版api,此方法最为简单但存在限制,导出页数不能超过三页。
全栈程序员站长
2022/06/27
5.1K0
使用 openPDF 创建带目录的文档时候, 使用如下方式, 可以保证目录页码准确
public static void main(String[] args) throws Exception { pdfboxTest5(); } private static void pdfboxTest5() throws DocumentException, IOException { File file = new File("E:\\sss\\test5.pdf"); Document doc = new Document(PageSize.A4); String tempFileN
北漂的我
2022/12/28
9250
推荐阅读
相关推荐
使用java操作word
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验