type
status
date
slug
summary
tags
category
icon
password
Property
Nov 15, 2024 11:06 AM
第一篇技术文~
题图 | Pixabay@eignatik17
这是我的第一篇技术文。
当我规划这篇文章的时候,我发现 Office 和 WPS 都可以另存为PDF 格式了。
我之前都是用https://app.xunjiepdf.com/word2pdf/ 这个网站去转 PDF,然后去打印,这个网站还限制 2M 以内的文档。
之所以要转 PDF 格式,是因为 word 文档在不同的 Office 版本显示不同,在 Office 和 WPS 显示也不同,在手机上显示也不同,就是排版会变形,你在你这边看到的是这样,发给老师或者老板,万一对方打开的方式不同,看到的可能又是另一样。
但是 PDF 格式的文件就不会变形。
正好目前工作需要在线转为 PDF 格式的需求,于是就调研了这个方法。
下面就是单独写一个项目实现 Word 转 PDF。
实践
IDE :IntelliJ IDEA
第一步,创建一个 Spring 的 Maven 类型项目。
语言:Java
框架:Spring Boot
下一步,选择 Spring Web 依赖关系。
先在 pom.xml 添加一下需要的依赖。
然后新建一个 controller 的包,在下面新建一个
WordToPdfController
类,代码如下:项目架构如下:
启动项目,打开浏览器在地址栏输入localhost:8080/toPdf ,出现下面页面就表示转换成功了。
然后看到项目的根目录就生成了一个 PDF 文件。
打开 PDF 文件,和 Word 文件一模一样,success。
不知道这个方法限制多大的文件,但是我这个 word 文档是 10M 的。
这个方法的可用性还是很高的,有的网站导出报告就是 PDF 类型的,不知道背后是 word 转 PDF,还是直接生成的 PDF。
如果要是有服务器,直接部署在服务器上了,之前的服务器啥也没搞,浪费了,现在服务器太贵了,买不起。
过程
在调研这个功能的时候,还是很「辛苦」的,好像尝试了两三个方法之后才找到这个功能。
为了跑起来,又找了好多架包。
源码带的版本架包跑不通,就去 Maven 仓库用最新版本的架包,狂神说要用就用最新的,不行再降。
结果还是不行,一直降版本还是不行,又去调研,最后在一篇博客中看到用的是两个 1.0.3 版本的架包,试试,就不报错了。
但是,在 Linux 服务器部署后,竟然不行,PDF 文件是生成了,但是 0KB。就是这样的,在 Windows 上是可以的,在 Linux 上就是不行,需要一些操作,还没找到解决的方法,难搞啊。
今天继续解决这个问题,最后找到一个说可以在 Linux 上可以转 PDF 的方法aspose-words-15.8.0 完美解决word转pdf,我在本地操作了一下,本地成功转成 PDF 文件,代码已经提交,等合并部署之后看效果,再不行,我就 emo 了。
最后
我还是比较有点抗拒写技术博客的,毕竟代码不像文字。
这篇写起来还是比较轻松的,代码就十几行,逻辑也很简单,「有机会」再写一写技术文。
- 作者:猿恋
- 链接:https://www.apelove.top/article/word-to-pdf
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。