Rao*_*har 0 php pdf pdf-to-html pdftotext
我正在寻找一些(最好是免费的)库,可以帮助从指定的矩形区域中提取 PDF 文本,该区域由左、上、宽和高参数指定。它应该可以在 Linux 系统上与 PHP 一起使用。你能推荐一个这样的图书馆和一个工作示例吗?
PHP 也可以使用外部命令行工具。所以如果这对你来说是一个选择......
如果您使用命令行pdftotext——但只有 Poppler 版本,而不是 XPDF 版本!-- 您有这些可选的 CLI 参数:
-x : 裁剪区域左上角的 x 坐标 -y : 裁剪区域左上角的 y 坐标 -W :以像素为单位的裁剪区域宽度(默认为 0) -H : 裁剪区域的高度,以像素为单位
一个工作示例:
首先,让我们使用 Ghostscript 从 Bash 手册页创建一个 PDF:
man -t bash | gs -o man-bash.pdf -sDEVICE=pdfwrite -
Run Code Online (Sandbox Code Playgroud)
接下来,让我们从中提取一些文本。使用宽度 200、高度 100 和左上角(200,200){you 在此处从左上角计算为定位于(0,0)}:
kp@mbp:~$ pdftotext -f 1 -l 1 -x 200 -y 200 -W 200 -H 100 man-bash.pdf - Shell 和 Ut 的一致实现 标准 1003.1)。Bash 可以配置为 POS 描述中记录的acter shell选项 外壳被调用。此外,bash解释 选项存在,然后从 s 读取命令
请注意我的使用-f(用于˚F IRST页)和-l(用于升AST页)。如果您不使用它,pdftotext将为多页 PDF 的每一页打印相应的文本区域。
与此屏幕截图进行比较:

看起来它按预期工作,不是吗?
Poppler 也可以用作库。但是我对这种方法没有任何经验(对 PHP 也没有太多经验)。
如果您找不到满足您要求的免费库,请查看从 PDF 中提取文本的最佳工具:TET,文本提取工具包。TET 是PDFlib.com产品系列的一部分。
PDFlib.com 是 Thomas Merz 的公司。如果您不认识他的名字:Thomas Merz 是“PostScript and PDF Bible”的作者之一。
TET 的第一个化身是图书馆。那个可能可以做你想做的一切,包括页面上每个元素的位置信息。
pdflib.com 还提供了该技术的另一种化身,即Acrobat的TET 插件。第三个版本是PDFlib TET iFilter。这是一个用于 Windows 桌面的独立工具。这两者都是免费的(如啤酒),可用于私人、非商业目的。
TET 比 Adobe 自己的文本提取要好得多。它为我提取了其他工具(包括 Adobe 的)只吐出垃圾的文本。
试一试。