Welcome 微信登录

首页 / 操作系统 / Linux / PHP读取PDF内容(Linux下Xpdf的配置和使用)

最近领导拍脑袋想出了一个需求,要我读取PDF里面的内容,并且入库存为正文,用来搜索。一.下载首先,我们先把资料下下来先。下载地址在这里:http://www.foolabs.com/xpdf/download.html如果不需要转中文的话,只需要下载它就可以:xpdf-bin-linux-3.03.tar,如果需要转中文,那你就还需要它了:xpdf-chinese-simplified.tar二.安装现在,下载完毕了吧,我们可以进行安装了。     [root@localhost ~]# mkdir -p /lcf/upan
     [root@localhost ~]# mkdir -p /lcf/cdrom
     [root@localhost ~]# mkdir -p /lcf/xpdf
     
     [root@localhost ~]# cd /lcf/upan/     [root@localhost upan]# cp xpdf/* ../xpdf/ (下载的文件放入/lcf/xpdf目录)
     [root@localhost upan]# cd ../xpdf/     [root@localhost xpdf]# tar -zxvf xpdfbin-linux-3.03.tar.gz     [root@localhost xpdf]# cd xpdfbin-linux-3.03     [root@localhost xpdfbin-linux-3.03]# cat INSTALL     [root@localhost xpdfbin-linux-3.03]# cd bin32/
     [root@localhost bin32]# cp ./* /usr/local/bin/     [root@localhost bin32]# cd ../doc/
     [root@localhost doc]# mkdir -p /usr/local/man/man1
     [root@localhost doc]# mkdir -p /usr/local/man/man5
     [root@localhost doc]# cp *.1 /usr/local/man/man1
     [root@localhost doc]# cp *.5 /usr/local/man/man5如果不需要读取中文的话,到这里就可以结束了,如果需要,那我们继续往后     [root@localhost doc]# cp sample-xpdfrc /usr/local/etc/xpdfrc     [root@localhost xpdf]# cd /lcf/xpdf
     [root@localhost xpdf]# tar -zxvf xpdf-chinese-simplified.tar.gz
     [root@localhost xpdf]# cd xpdf-chinese-simplified
     [root@localhost xpdf]# mkdir -p/usr/local/share/xpdf/chinese-simplified
     [root@localhost xpdf]# cd xpdf-chinese-simplified/     [root@localhost xpdf-chinese-simplified]# cp Adobe-GB1.cidToUnicode ISO-2022-CN.unicodeMap EUC-CN.unicodeMap GBK.unicodeMap CMAP /usr/local/share/xpdf/chinese-simplified/     
        把chinese-simplified里面文件add-to-xpdfrc 的内容复制到/usr/local/etc/xpdfrc文件中。记得里面的路径要正确。(注意,这里面的简体中文包包括以下三种格式:ISO-2022-CN,EUC-CN,GBK ,看清楚哦,不支持UTF-8,可以先转为GBK,然后进行转义)     三.功能实现      至此,所有的配置完毕,我们要开始使用它了。      如果是简单的PDF读取,那么直接用下面的语句就OK了。     $content = shell_exec("/usr/local/bin/pdftotext ".$filename." -");   
 如果需要转中文,如此这般,加上参数。 $content = shell_exec("/usr/local/bin/pdftotext -layout -enc GBK ".$filename." -"); 当然,加了参数之后依然是不影响英文的转换的,所以,放心使用吧。需要注意的是,这里转出来的是GBK编码的哦,现在网站很多用的是UTF-8,想要不显示乱码的话,需要再次转义一下哦。 $content = mb_convert_encoding($content, "UTF-8","GBK"); 至此,就大功告成了。读取出来的内容,你想如何使用,再写代码处理吧。 最后加一下pdftotext 的参数说明给大家。主要参数如下:OPTIONS
Many of the following options can be set with configuration file com-
mands. These are listed in square brackets with the description of the
corresponding command line option.-f number
Specifies the first page to convert.-l number
Specifies the last page to convert.-layout
Maintain (as best as possible) the original physical layout of
the text. The default is to "undo" physical layout (columns,
hyphenation, etc.) and output the text in reading order.-fixed number
Assume fixed-pitch (or tabular) text, with the specified charac-
ter width (in points). This forces physical layout mode.-raw Keep the text in content stream order. This is a hack which
often "undoes" column formatting, etc. Use of raw mode is no
longer recommended.-htmlmeta
Generate a simple HTML file, including the meta information.
This simply wraps the text in <pre> and </pre> and prepends the
meta headers.-enc encoding-nameLinux shell命令的实际应用——查看并修改系统时区Ubuntu 10.04下安装Qt4和创建第一个Qt程序相关资讯      xpdf  Xpdf使用 
  • Ubuntu下安装PDF阅读器XPDF  (04月06日)
  • t1lib Type 1字体解析多个拒绝服务  (02/17/2012 06:09:42)
  • ubuntu Linux下的pdf阅读工具xpdf  (06/17/2007 07:15:36)
  • Xpdf 3.04 发布,PDF 阅读器  (05/30/2014 12:05:22)
  • t1lib Type 1字体解析远程代码执行  (12/22/2011 19:26:31)
本文评论 查看全部评论 (0)
表情: 姓名: 字数