php 获取pdf中的图片,使用PHP从PDF中提取图像

AFAIK,没有PHP模块可以做到.有一个命令行工具,

pdfimages(

xpdf的一部分).作为参考,这是如何工作的:

pdfimages -j source.pdf image

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

可能的选择

作为命令行工具,您需要exec(或系统,passthru,PHP内置的任何命令执行函数).由于您的环境没有,我看到四个选项:

>请求为您打开exec(您的托管服务提供商可以限制您执行单个命令的操作)

>更改设计 – ZIP上传怎么样?

>使用pdfimages的源代码作为模型,自行滚动

>让pdfimages通过在您控制的远程主机上运行来完成繁重的工作

关于#3,滚动你自己,我不认为滚动你自己,解决一个非常狭窄的要求定义,将太困难.我似乎记得PDF中的图像边界定义得很好:只需将文件读入边界,切割到边界的末尾,base64_decode,然后写入文件 – 重复.但是,这可能太多了……

>找到一个便宜的托管环境(例如亚马逊EC2)让你执行和卷曲

>安装pdfimages

>编写一个PHP脚本,将URL带到PDF,curl打开PDF,将其写入磁盘,将其传递给pdfimages,然后将URL返回到生成的图像.

示例交换可能如下所示:

GET http://www.cheaphost.com/pdfimages.php?extract=http://www.limitedhost.com/path/to/uploaded.pdf

Content-type: text/html

  • http://www.cheaphost.com/pdfimages.php?retrieve=ab9895v/image-000.jpg
  • http://www.cheaphost.com/pdfimages.php?retrieve=ab9895v/image-001.jpg

因此,您的单个pdfimages.php脚本(在具有exec功能的主机上运行)可以提取图像,并允许您访问提取的图像.提取时,它会读取您告诉它的PDF,在其上运行pdfimages,并返回一个要调用的URL列表以检索提取的图像.检索时,它只会让您回到直线图像.

您需要处理清理,或许要做的事情是在检索后删除图像.您还需要处理安全性 – 不知道这些图像中的内容,但内容可能需要包含在SSL中并采取其他预防措施.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用PDFMiner这个Python库来提取PDF文件的文本内容及其坐标信息。具体步骤如下: 1. 安装PDFMiner库,可以使用pip命令安装:`pip install pdfminer` 2. 编写Python脚本,使用PDFMiner库提取PDF文件的文本内容及其坐标信息,例如: ``` import pdfminer.high_level as pdf def extract_text_with_coordinates(pdf_file): text_with_coordinates = [] for page_layout in pdf.extract_pages(pdf_file): for element in page_layout: if isinstance(element, pdfminer.layout.LTTextBoxHorizontal): for text_line in element: text_with_coordinates.append((text_line.get_text(), (text_line.x0, text_line.y0, text_line.x1, text_line.y1))) return text_with_coordinates pdf_file = open('example.pdf', 'rb') text_with_coordinates = extract_text_with_coordinates(pdf_file) pdf_file.close() print(text_with_coordinates) ``` 其,`extract_text_with_coordinates`函数用于提取PDF文件的文本内容及其坐标信息,返回一个列表,每个元素包含文本内容及其坐标信息。`pdf_file`为文件对象,需要使用rb模式打开。 3. 使用PHP调用Python脚本,获取文本内容及其坐标信息,例如: ``` $output = shell_exec("python extract_text_with_coordinates.py example.pdf"); $text_with_coordinates = json_decode($output); ``` 其,`shell_exec`函数用于执行Python脚本,`json_decode`函数用于解析Python脚本输出的JSON格式数据。 需要注意的是,使用Python库需要安装Python环境,因此在PHP调用Python脚本需要确保Python环境已经安装并配置好环境变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值