type
status
date
slug
summary
tags
category
icon
password
Property
Sep 3, 2023 06:45 AM
第一篇技术文~
notion image
题图 | 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 类型项目。
notion image
语言:Java
 
框架:Spring Boot
 
下一步,选择 Spring Web 依赖关系。
notion image
先在 pom.xml 添加一下需要的依赖。
 
然后新建一个 controller 的包,在下面新建一个 WordToPdfController 类,代码如下:
项目架构如下:
notion image
启动项目,打开浏览器在地址栏输入localhost:8080/toPdf ,出现下面页面就表示转换成功了。
notion image
然后看到项目的根目录就生成了一个 PDF 文件。
notion image
打开 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 了。

最后

我还是比较有点抗拒写技术博客的,毕竟代码不像文字。
 
这篇写起来还是比较轻松的,代码就十几行,逻辑也很简单,「有机会」再写一写技术文。
《遥远的救世主》经典对话我的人生信念(My Life Beliefs)
  • Twikoo
  • Waline
猿恋
猿恋
未来无人知晓,一起有知有行。
统计
文章数:
40
公告
type
status
date
slug
summary
tags
category
icon
password
Property
Sep 3, 2023 06:45 AM
搬砖中
不定期更新
夜间模式更美哦
notion image