最近研究全文索引技术,要对局域网内各个资源站的全部内容进行全部索引。
为了提高索引精度,要求索引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,
即可完成中文支持的安装。相关命令如下
[quote] 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[/quote]
Form:itlife365.com
From:http://www.msphome.cn/blog/php_parse_msdoc_xls_ppt_pdf_files/
为了提高索引精度,要求索引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,
即可完成中文支持的安装。相关命令如下
[quote] 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[/quote]
Form:itlife365.com
From:http://www.msphome.cn/blog/php_parse_msdoc_xls_ppt_pdf_files/