word转pdf两种方式(免费+收费)

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

一、免费方式

优点:1、免费;2、在众多免费中挑选出的转换效果相对较好,并且不用像openOffice那样安装服务

缺点:1、对字体支持没有很好,需要安装字体库或者使用宋体(对宋体支持很好)2、对于使用freeMarker模板转化过来的doc无法读取转换

第一步:

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId>
            <version>2.0.1</version>
        </dependency>

第二步:

public static void main(String[] args) throws Exception {
        FileInputStream fileInputStream = new FileInputStream("D:\\test\\研判报告docx.docx");
        XWPFDocument xwpfDocument = new XWPFDocument(fileInputStream);
// 将word中字体转化为宋体,防止其他字体无法正常显示
        setFontType(xwpfDocument);
        FileOutputStream fileOutputStream = new FileOutputStream("D:\\test\\研判报告11.docx");
        PdfConverter.getInstance().convert(xwpfDocument,fileOutputStream,pdfOptions);
        fileInputStream.close();
        fileOutputStream.close();
    }


    /***
     * 将文档的文字设置为宋体 防止其他字体转pdf不显示
     * @Description:
     * @param xwpfDocument
     * @return:
     */
    private static void setFontType(XWPFDocument xwpfDocument) {
        //转换文档中文字字体
        List<XWPFParagraph> paragraphs = xwpfDocument.getParagraphs();
        if(paragraphs != null && paragraphs.size()>0){
            for (XWPFParagraph paragraph : paragraphs) {
                List<XWPFRun> runs = paragraph.getRuns();
                if(runs !=null && runs.size()>0){
                    for (XWPFRun run : runs) {
                        run.setFontFamily("宋体");
                    }
                }
            }
        }
        //转换表格里的字体 我也不想俄罗斯套娃但是不套真不能设置字体
        List<XWPFTable> tables = xwpfDocument.getTables();
        for (XWPFTable table : tables) {
            List<XWPFTableRow> rows = table.getRows();
            for (XWPFTableRow row : rows) {
                List<XWPFTableCell> tableCells = row.getTableCells();
                for (XWPFTableCell tableCell : tableCells) {
                    List<XWPFParagraph> paragraphs1 = tableCell.getParagraphs();
                    for (XWPFParagraph xwpfParagraph : paragraphs1) {
                        List<XWPFRun> runs = xwpfParagraph.getRuns();
                        for (XWPFRun run : runs) {
                            run.setFontFamily("宋体");
                        }
                    }
                }
            }
        }
    }

二、收费方式:

除了收费没啥缺点

1、freemarker生成word模板

①、自己新建一个word文档,内容就按照需要的格式内容

②、word文档另存为,选择xml格式

word转pdf两种方式(免费+收费),word,pdf

③、修改xml后缀为ftl放在如图位置

word转pdf两种方式(免费+收费),word,pdf

 ④代码:

    public static void main(String[] args) throws Exception {
        //1.创建配置类
        Configuration configuration=new Configuration(Configuration.getVersion());
        //2.设置模板所在的目录
        configuration.setDirectoryForTemplateLoading(new File(".\\template"));
        //3.设置字符集
        configuration.setDefaultEncoding("utf-8");
        //4.加载模板
        Template template = configuration.getTemplate("研判报告docx.ftl");
        //5.创建数据模型
        Map map=new HashMap();
        map.put("name","姓名姓名");
        map.put("idCard","身份证号码");
        map.put("age","36");
        map.put("sex","男");
        Map<String, Object> data1 = new HashMap<>();
        data1.put("item",map);
        Writer out =new FileWriter(new File(".\\template\\研判报告docx.docx"));

        //7.输出
        template.process(data1, out);
        //8.关闭Writer对象
        out.close();
    }

2、word转pdf

①、新建asposeLicense.xml放到如图位置

word转pdf两种方式(免费+收费),word,pdf

 asposeLicense.xml内容:

<License>
    <Data>
        <Products>
            <Product>Aspose.Total for Java</Product>
            <Product>Aspose.Words for Java</Product>
        </Products>
        <EditionType>Enterprise</EditionType>
        <SubscriptionExpiry>20991231</SubscriptionExpiry>
        <LicenseExpiry>20991231</LicenseExpiry>
        <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
    </Data>
    <Signature>
        sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
    </Signature>
</License>

②、代码文章来源地址https://www.toymoban.com/news/detail-626296.html

public static void main(String[] args) {
        String docPath = ".\\template\\研判报告docx.docx";
        String savePath = ".\\template\\研判报告docx4.pdf";
        word2pdf(docPath, savePath);
    }

    public static void word2pdf(String docPath, String savePath) {
        try {
            ClassPathResource resource = new ClassPathResource("asposeLicense.xml");
            InputStream inputStream = resource.getInputStream();
            License license = new License();
            license.setLicense(inputStream);
            com.aspose.words.Document document = new com.aspose.words.Document(docPath);
            document.save(new FileOutputStream(new File(savePath)), SaveFormat.PDF);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

到了这里,关于word转pdf两种方式(免费+收费)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 赛效:如何将PDF文件免费转换成Word文档

    1:在网页上打开wdashi,默认进入PDF转Word页面,点击中间的上传文件图标。 2:将PDF文件添加上去之后,点击右下角的“开始转换”。 3:稍等片刻转换成功后,点击绿色的“立即下载”按钮,将Word文档保存到电脑本地。 如果你想了解更多办公软件及其使用技巧,可以在“赛

    2024年02月11日
    浏览(54)
  • Java word转为html 两种方式

    滴滴滴上重点。。。    缺点:对字体样式处理不精确;wmf公式图片部分转换不精确,本文档只支持doc格式    优点:转换速度相对很快,本地也方便调试    地址: 下载 LibreOffice | LibreOffice 简体中文官方网站 - 自由免费的办公套件    Linux安装libreoffice案例: linux centos7工具

    2024年02月02日
    浏览(51)
  • 想把PDF转成Word?这三个免费在线工具不容错过!

    在日常工作和学习中,我们经常会遇到需要将PDF文件转为Word文档的情况。本文将介绍三种不同的PDF转Word的方法。 首先是推荐的PDF转Word网站:记灵在线工具(http://remeins.com)。 这是一个功能非常强大的PDF在线处理网站,可以完全免费卷羊毛。它可以满足PDF处理的所有要求,包

    2024年02月03日
    浏览(62)
  • 在线word转pdf免费去哪里好?这个网站可以轻松实现!

    很多朋友在保存word文档内容的时候,都想把它转换为pdf格式的,因为这种文档比较安全,不能轻易的进行修改,那么在线word转pdf免费去哪里好呢?这个网站可以轻松实现,下面就来说说。 在线word转pdf免费去哪里好? 我们可以进行在线转换来将word文件转换成pdf文件,这个方法

    2024年02月11日
    浏览(55)
  • 如何在 Mac 上将 PDF 转换为 Word [6 种免费方法]

    我们出于各种原因使用 PDF。我们可以将它们用于学校作业,以打印出谱,或离线阅读文章。我们经常想弄清楚如何在 Mac 上将 Word 文档另存为 PDF。但是,如果我们需要对 PDF 进行更改怎么办? 对 PDF 进行更改通常无法在 PDF 本身上完成。因此,这意味着我们必须做一些额外的

    2024年02月05日
    浏览(62)
  • 实现Linux下Word转PDF、Java调用命令方式

    1、 安装 LibreOffice 外网安装 内网安装 官网下载,找最新版本 使用版本拼接本地下载 下载完成放到内网服务器上 2、启动服务 3、安装字体库 4、Java调用Linux命令 支持 windows 和 Linux 转换 PDF , windows 需要安装微软 Microsoft Office , Linux 环境安装 LibreOffice 开源 Office 依赖 DocxUtil E

    2024年02月07日
    浏览(29)
  • python如何使用最简单的方式将PDF转换成Word?

    由于PDF的文件大多都是只读文件,有时候为了满足可以编辑的需要通常可以将PDF文件直接转换成Word文件进行操作。 看了网络上面的python转换PDF文件为Word的相关文章感觉都比较复杂,并且关于一些图表的使用还要进行特殊的处理。 本篇文章主要讲解关于如何使用python是实现将

    2024年02月11日
    浏览(61)
  • 用AI免费生成换脸视频,最简两种方式

    事情是这样的,最近和几个朋友探讨未来Ai应用的时候,正好有个是做短剧的,另一个朋友提出了AI换脸短剧出海的想法,最为一个技术控,就想着探究下代码实现生成的方式,是否技术成熟,话不多说,回来直接翻看资料,就是干,整理了以下两种免费而且效果很不错的方式

    2024年04月28日
    浏览(36)
  • 用Aspose-Java免费实现 PDF、Word、Excel、Word互相转换并将转换过得文件上传OSS,返回转换后的文件路径

    github代码地址 https://github.com/Tom-shushu/work-study 接口文档有道云 https://note.youdao.com/s/GShGsYE8 接口文档离线版本 https://files.cnblogs.com/files/Tom-shushu/%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3.rar?t=1682958343download=true 为什么发布这篇文档转换的文章呢?因为上周我要将一个PDF转换为Word,结果百度谷歌

    2024年02月02日
    浏览(57)
  • Java 将word转为PDF的三种方式和处理在服务器上下载后乱码的格式

    我这边是因为业务需要将之前导出的word文档转换为PDF文件,然后页面预览下载这样的情况。之前导出word文档又不是我做的,所以为了不影响业务,只是将最后在输出流时转换成了PDF,当时本地调用没什么问题,一切正常,后面发布测试环境使用时才发现,导出时PDF文件内容

    2024年02月03日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包