page contents

PHP如何读取各种文档内容并转换为TXT文档?

最近研究全文索引技术,要对局域网内各个资源站的全部内容进行全部索引。为了提高索引精度,要求索引MS WORD 的DOC、DOCX文件格式、PPT、PPTX,Excel的XLS/XLSX文件和PDF文件的内容。要索引这...

attachments-2021-06-22mkX4Wa60d56cf66e023.png

最近研究全文索引技术,要对局域网内各个资源站的全部内容进行全部索引。为了提高索引精度,要求索引MS WORD 的DOC、DOCX文件格式、PPT、PPTX,Excel的XLS/XLSX文件和PDF文件的内容。要索引这些二进制文件,必须先把他们转换成纯文本格式才行。查到很多资料,很多都是利用Office的COM组件来读取这些文件的内容。但是这种方法只适用于Windows平台,而我们的PHP系统的运行平台是LINUX生产服务器。多方搜索发现国内很少有这些资料。无奈去Google。在浏览了大量相关论坛之后终于成功解决这个PHP 解析二进制文档文件转换为txt文本格式的问题。

具体方法如下:

1. MSDOC文档
使用catdoc命令转换为text文本格式,命令如下

catdoc test.doc > test.txt

  
2. MSXLS文档
使用xls2cvs命令转换XLS为CVS逗号分隔符文件,命令如下

xls2csv test.xls > test.xls.txt

  
3. MSPPT文档
使用catppt命令转换为text文本格式,命令如下

catppt test.ppt > test.txt

  
4. MSDOCX文档
ZIP解压缩文件,读取word/document.xml中节点定界段落,以定界文字分段,连缀即可。

5. MSXLSX文档
ZIP解压缩文件,读取xl/sharedStrings.xml中以定界文字分段,连缀即可
  
6. MSPPTX文档
ZIP解压缩文档,读取ppt/slides中全部文件,每个文件为一帧幻灯片,文字以定界,连缀即可
  
7. PDF文档
使用pdftotext命令进行转换,命令如下

pdftotext -enc GBK test.pdf text.pdf.txt

  
相关软件包
catdoc-0.94.2.tar.gz
xpdf-3.02.tar.gz
xpdf-chinese-simplified.tar.gz

其中xpdf安装完成后需要单独安装中文支持。具体做法是:
解压缩xpdf-chinese-simplified.tar.gz得到xpdf-chinese-simplified, 将此文件夹移动至/usr/local/share/xpdf/chinese-simplified,复制chinese-simplified下的add-to-xpdfrc至/usr/local/etc/xpdfrc,即可完成中文支持的安装。相关命令如下

tar zxvf xpdf-chinese-simplified.tar.gz
mkdir /usr/local/share/xpdf
cp xpdf-chinese-simplified /usr/local/share/xpdf/chinese-simplified
cp /usr/local/share/xpdf/chinese-simplified/add-to-xpdfrc /usr/local/etc/xpdfrc

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

程序员编程交流QQ群:805358732

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-gm9GToJd62ad293cea7b8.jpeg

  • 发表于 2021-06-25 13:45
  • 阅读 ( 817 )
  • 分类:PHP开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1324 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章