pdf2htmlEX Github 主页: https://github.com/coolwanglu/pdf2htmlEX

相关论文:
Wang, Lu, and Wanmin Liu. “Online publishing via pdf2htmlEX.” TUGboat 34.3 (2013): 313-324.

Mac/docker安装

Mac直接使用: brew install pdf2htmlEX 即可

docker安装,使用:

docker search pdf2htmlEX

可以看到能使用的docker image,我们选择下载最多star的那个docker:

NAME                                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
bwits/pdf2htmlex                          Smallest pdf2htmlEX container and easiest wa…   27                   [OK]
bwits/pdf2htmlex-alpine                   pdf2htmlEX in alpine                            15                   [OK]
klokoy/pdf2htmlex                                                                         7                    [OK]

这里我们使用命令:

docker pull bwits/pdf2htmlex

命令行PDF转HTML

首先运行:

alias pdf2htmlEX='docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX'

然后使用命令pdf2htmlEX 测试的pdf文件.pdf即可生成目标HTML文件:

wget http://www.africau.edu/images/default/sample.pdf
pdf2htmlEX sample.pdf

更多用法请参考:https://github.com/coolwanglu/pdf2htmlEX/wiki/Quick-Start

Python PDF转HTML

代码也很简单:

def convert_pdf_to_html(filename):
    import subprocess
    subprocess.call("docker run --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX {}".format(filename), shell=True)
if __name__ == '__main__':
    convert_pdf_to_html("sample.pdf") # 这里是文件的名称传递进去,如果代码与文件不是一个路径,需要用xx/xx/sample.pdf的路径

运行linux命令可以参考:https://linuxhint.com/execute_shell_python_subprocess_run_method/

安装xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/下载字体:微软雅黑;给个地址://www.jb51.net/fonts/8481.html换的文件:1.htm复制代码 代码如下:<meta charset=”utf8″/><style type=’text/css’>@font-face {         font-family: “code2000”;         src: url(“code2000.ttf”) } html {      font-family: code2000; } </style><html pdf2htmlEX:将 PDF 换为 HTML 的高效工具 PDF 是一种广泛使用的文件格式,但有时候我们需要将其换为 HTML 格式以便更好地在线展示或进行进一步处理。本文要向您介绍的 pdf2htmlEX 就是一个功能强大的 PDF 换工具。 pdf2htmlEX 可以将 PDF 文件换为 HTML5,同时保留原始文档的所有样式、布局和注释。与许多其他换器不同,pdf2... 一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包。于是安装了一下,安装过程很简单: sudo pip install pdfminer; 中间也没有任何的报错。至于如何调用,本人也没有很好的研究过pdfminer这个库,于是开始了百度…… 官方文档:http://www.unixuser.org/~euske/python/pdfminer/index.html 完全使用python编写。 (适用于2.4或更新版本) 解析,分析,并换成PDF文档。 PDF-1.7规范的支持。 (几乎) 中日韩语言和垂直书写脚本支持。 各种字体类 遵从开源协议 GPLv3+ 使用 pdf2htmlEX [] 作为pdf 换至 html的工具。 对 pdf2htmlEX 做了扩展,增加了生成的 html 的功能及样式. 使用express, node.js实现一个服务端程序,用以接受 post pdf文件的网络请求,在服务端生成html,并返回。增加了用户创建, 用户登录授权, 资源鉴权的功能. 为生产环境布署,实现了docker化.。 ##使用 先根据.env.sample 生成自己的 .env.dev // 第一次运行请初始化数据库 sh ./src/database/init_db.sh // 运行开发模式 npm run dev // 或调试模式 npm run debug 注意: 需要自行启动redis服务,在 localhost:6379, 可选择使用此方式启动 pdf2htmlEX使用 1、参考https://www.cnblogs.com/pxblog/p/14588770.html在Linux(centos)使用docker安装pdf2htmlEX 而后创建放置pdf原文与生成的html的文件 2、下载pdf2htmlEX 3、将下载好的pdf2html放置到相应的文件夹下 4、输入命令: docker run -it --rm -v /:/pdf --privileged=true bwits/pdf2htmlex pdf2htmlEX --zoom 1 在使用github展现在线的pdf的时候,因为一些原因会比较慢,所以记录一下另一个方法,就是把pdfhtml的方法。这里使用pdf2htmlex,因为brew安装比较麻烦,推荐直接使用docker安装。这样就可以直接输入pdf2htmlEX来使用了。 本文使用系统CentOS 7 1、获取压缩包 点击下载pdf2htmlEX-0.14.6.tar.gz 2、解压 3、此时直接安装会有问题,需要先编译安装libfontforge 出现以上提示表示成功 pdf2html 参数说明用法: pdf2htmlEX [options] <input.pdf> [<output.html>] -f,--first-page <int> 需要换的起始页 (默认: 1) -l,--last-page <int> 需要换的最后一页 (默认: 2147483647) --zoom <fp> 依赖于 pdf2htmlEX 的 PDF 换器 目前,安装主要的pdf2htmlEX依赖项并不像运行apt那样apt 。 以下说明适用于 Ubuntu 14.04。 它们改编自 [ ] ( )。 您将需要这些来获取一些依赖项。 有可能,其中一些已经安装: sudo apt-get install git sudo apt-get install subversion sudo apt-get install cvs 各种各样的 这些都是一个或另一个包所需要的: sudo apt-get update sudo apt-get install cmake sudo apt-get install libopenjpeg-dev sudo apt-get install libpng12-dev sudo a 项目上遇到需求:将pdf文件换成html格式文件,供另外的服务做html解析从而获取文件内容信息,这里我采用的是pdf2htmlEX作为换工具,效果不错。推荐使用最便捷的方法,直接运行docker容器内的程序换,避免部署工具所需要的环境等,节约很多时间。先安装docker并配置docker服务自启动,参考文章:直接运行docker进行换docker run -ti --rm -v `pwd... 外链图片存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdypYjKs-1691994412348)(pdf2htmlEX%20829869fb014a4ae499644001e79f8048/Untitled.png)]在 pdf2htmlEX 中,自定义字体文件可以用于替换 PDF 文档中使用的默认字体,或者添加 PDF 文档中未包含的字体。这可以确保在将 PDF 文档换为 HTML5 格式时,所使用的字体与原始 PDF 文档中的字体相同,从而保持文档的一致性。