注:本例子适合将小文件纯文本的pdf转换为word文档
演示环境:
centos7
Apache/tika (解析pdf)
go-tika (golang库)
1、首先下载Apache/tika的jar包,下载地址如下:
2、启动tika包,执行命令如下:
3、查看进程对应端口9998,如图:
4、定义main.go文件,文件内容如下:
18行:调用ReadPdf()函数,将new.pdf文件作为参数传递过去,通过os.Open()打开文件,调用tika的NewClient函数解析pdf文件(NewClient的第二个参数就是tika进程),返回解析后的字符串和错误
23行:将解析内容写入到html文件中
28行:调用函数deleteTitle,删除html文件中的title标签,因为此标签中包含特殊字符,如果不删除会报xml语法错误
32行:再次读取html文件,将html转换为doc文件
5、在main.go同级目录下创建文件夹readhtml,在文件夹中定义文件readhtml.go,内容如下:
8行:定义多个结构体,用于接收反序列化数据
22行:读取html文件的函数,接收第4步传递过来的html文件
28行:反序列化xml内容到结构体中
33行:遍历P标签内容,并将遍历后的字符串转为字节切片后再次添加到字节切片b中(主要目的为了后面的写入doc中)
36行:将字节切片b的内容写入到文件res.doc中
6、上传new.pdf文件到main.go同级目录下,然后执行main.go,如图:
可看到执行后生成了out.html和res.doc文件,查看res.doc文件内容(截取部分)如下:
源文件new.pdf内容如下:
至此,PDF转word完成!!!
领取专属 10元无门槛券
私享最新 技术干货