欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP将pdf转成html 有大用 有大大用 有大大大用

最近有个功能需求是: 识别pdf文件转化为html页面形式

解决方式:

方法1:开始是寻找的PHP插件pdfparser,详见github链接: https://github.com/smalot/pdfparser ,官网示例文档:https://www.pdfparser.org/documentation

摘录示例如下

  1. <?php
  2. // Include Composer autoloader if not already done.
  3. include 'vendor/autoload.php';
  4. // Parse pdf file and build necessary objects.
  5. $parser = new \Smalot\PdfParser\Parser();
  6. $pdf    = $parser->parseFile('document.pdf');
  7. $text = $pdf->getText();
  8. echo $text;
  9. ?>

常规的pdf可以进行识别,但是对于里面含有数据表格,就无法识别出里面的表格的样式。推荐程度一般。

 

方法2:Linux命令,pdf2htmlEX

        1, 安装pdf2htmlEX,过程如下:

  1. sudo yum install -y cmake gcc gnu-getopt libpng-devel fontforge-devel cairo-devel poppler-devel libspiro-devel freetype-devel poppler-data libjpeg-turbo-devel git make gcc-c++ pango-devel
  2. sudo yum install -y libjpeg-turbo.x86_64 libjpeg-turbo-devel libjpeg-turbo-devel.x86_64 libtiff.x86_64 libtiff-devel openjpeg-devel.x86_64 openjpeg giflibgiflib-devel libxml2.x86_64 libxml2-devel libspiro.x86_64 libspiro-devel libuninameslist-devel.x86_64  libtool-ltdl-devel

       2,在github上 下载软件

       https://github.com/coolwanglu/pdf2htmlEX

       https://github.com/coolwanglu/fontforge/tree/pdf2htmlEX

     3,解压缩文件

  1. cd  到压缩文件目录下
  2. tar zxvf pdf2htmlEX-0.14.6.tar.gz
  3. cd  pdf2htmlEX-0.14.6

   4,编辑环境变量文件

  1. 1.将如下两条加入到/etc/profile文件底部
  2. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  3. export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  4. 2.使其生效
  5. source /etc/profile

5,在fontforge目录下面执行

  1. 命令:    sh autogen.sh
  2. 命令:    sh configure
  3. 命令:    make
  4. 命令:    make install

6,在pdf2htmlEX目录下面执行,出现文件夹权限问题,可以chmod 777 文件夹

cmake . && make && sudo make install

7,安装完成,使用 pdf2htmlEX  document.pdf 即可生成对应的html文件

比较推荐,就是需要进行环境的安装,稍有麻烦,但是pdf中的表格和图片都能进行转化

 

方法3 Linux 命令pdftohtml

安装方式,CentOS为例:sudo yum install poppler-utils.x86_64

安装完成,使用命令 pdftohtml -c -s document.pdf 即可

详细命令如下

  1. [root@localhost ~]# pdftohtml --help
  2. pdftohtml version 0.26.5
  3. Copyright 2005-2014 The Poppler Developers - http://poppler.freedesktop.org
  4. Copyright 1999-2003 Gueorgui Ovtcharov and Rainer Dorsch
  5. Copyright 1996-2011 Glyph & Cog, LLC
  6. Usage: pdftohtml [options] <PDF-file> [<html-file> <xml-file>]
  7. -f <int>              : first page to convert
  8. -l <int>              : last page to convert
  9. -q                    : don't print any messages or errors
  10. -h                    : print usage information
  11. -?                    : print usage information
  12. -help                 : print usage information
  13. --help                : print usage information
  14. -p                    : exchange .pdf links by .html
  15. -c                    : generate complex document
  16. -s                    : generate single document that includes all pages
  17. -i                    : ignore images
  18. -noframes             : generate no frames
  19. -stdout               : use standard output
  20. -zoom <fp>            : zoom the pdf document (default 1.5)
  21. -xml                  : output for XML post-processing
  22. -hidden               : output hidden text
  23. -nomerge              : do not merge paragraphs
  24. -enc <string>         : output text encoding name
  25. -fmt <string>         : image file format for Splash output (png or jpg)
  26. -v                    : print copyright and version info
  27. -opw <string>         : owner password (for encrypted files)
  28. -upw <string>         : user password (for encrypted files)
  29. -nodrm                : override document DRM settings
  30. -wbt <fp>             : word break threshold (default 10 percent)
  31. -fontfullname         : outputs font full name

 来自  https://blog.csdn.net/zhangchb/article/details/107179896


普通分类: