删除图像 PDF 通过 PHP

事实是客户想要下载 pdf 使用图像作为批处理的方法同时处理多个图像。

我已经环顾四周了 PHP 我无法读取 PDF.

我的替代品是什么?

我已经知道主机尚未安装
imageMagick

或任何图书馆 pdf, 一个功能
exec

残疾人士。 我想的是什么基本上留下了我什么?

有人知道是否有一个在线服务可以在某种程度上做到这一点 api?

谢谢 adv
已邀请:

郭文康

赞同来自:

据我所知,没有模块 PHP, 去做这个。 有一个工具
http://linuxcommand.org/man_pages/pdfimages1.html
线时间 pdfimages /部分
http://en.wikipedia.org/wiki/Xpdf
/. 供参考,这是它的工作原理:


pdfimages -j source.pdf image


这将从中提取所有图像 source.pdf 作为image-000.jpg,image-001.jpg等,请注意输出格式始终是 Jpeg.

可能的选择

是一个命令行工具,您需要
exec

/或者
system

,
passthru

, 执行内置函数的任何命令 PHP/. 因为在你的环境中,我看到四个选项:

问是 exec 被包括在内 /您的托管提供商可以限制您可以执行的内容,一个命令/

改变设计 - 下载怎么样 ZIP?

使用源代码来滚动自己的源代码。
pdfimages

作为模型

让我们
pdfimages

将努力工作,在您管理的远程主机上运行它

关于 #3, rolling your own, 我不认为 rolling your own, 要解决一个非常狭隘的要求定义,这太困难了。 似乎我记得图像的边界 PDF 定义很好:只需将文件读到边框,缩小边界的结尾, base64_decode 并写入文件 - 重复。 但是,这也可能是......

如果滚动自己太复杂,那么选择 #4 类似于这一事实
http://www.joelonsoftware.com/ ... .html
Excel /在胖标题下看到一个数字名单 "让办公室为您努力工作"/.

找到一个廉价的托管环境 /例如, Amazon EC2/, 这将允许您
exec


curl



pdfimages


写一个脚本 PHP, 转换 URL 在 PDF, curl 打开这个 PDF, 将其写在磁盘上,通过 pdfimages, 然后退货 URL 在得到的图像中。

交换示例可能如下所示:


GET [url=http://www.cheaphost.com/pdfimages.php?extract=http://www.limitedhost.com/path/to/uploaded.pdf]http://www.cheaphost.com/pdfim ... d.pdf[/url]

Content-type: text/html


<html>
<body>
<ul>
<li>[url=http://www.cheaphost.com/pdfimages.php?retrieve=ab9895v/image-000.jpg</li>]http://www.cheaphost.com/pdfim ... gt%3B[/url]
<li>[url=http://www.cheaphost.com/pdfimages.php?retrieve=ab9895v/image-001.jpg</li>]http://www.cheaphost.com/pdfim ... gt%3B[/url]
</ul>
</body>
</html>


所以你唯一的脚本 pdfimages.php /主机 - 使用功能
exec

/ 它可以提取图像并向您提供对提取的图像的访问。 删除它读取时 PDF, 你告诉他,发射 pdfimages 在它上并返回您的列表 URL 调用提取提取的图像。 删除时,它只是返回直接图像。

您需要进行清洁,在提取后可能需要删除图像。 您还需要处理安全 - 我不知道这些图像中的内容,但内容可以包裹 SSL 和其他采取的预防措施。

快网

赞同来自:

您可以使用 pdfimages 并以这种方式设置它:


apt install poppler-utils


然后以这样的方式使用它以获取文件的形式 PNG:


pdfimages -j mypdf.pdf image -png


图像将放在标题下的同一文件夹中。 image-000.png, image-001.png 等等。

有许多可用选项,包括一些更改输出格式,更详细的信息
https://www.systutorials.com/d ... ages/
.

希望它会有所帮助!

要回复问题请先登录注册