首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从PDF文件中的特定区域提取数据

如何从PDF文件中的特定区域提取数据
EN

Stack Overflow用户
提问于 2022-03-09 04:27:30
回答 2查看 512关注 0票数 -3

参见此pdf格式

我要这个pdf的数据

代码语言:javascript
复制
<?php
$data = array(
 "CertificateID" => "91815380284",
 "BeneficiaryName"=>"Kavita",
 "Gender" => "Female",
 "IDVerified" => "Aadhaar # XXXXXXXX3661",
 "BeneficiaryReferenceID" => "34684952644017",
 "VaccinationStatus" => "Fully Vaccinated (2 Doses)"
);
?>
EN

回答 2

Stack Overflow用户

发布于 2022-03-09 06:17:41

要执行的实际任务不适合PHP。

最好使用外部程序,比如pdftotext https://www.xpdfreader.com/pdftotext-man.html

PDF的主要问题是它们不是简单的文本文件,而是二进制文件。

您可以使用shell_exec命令调用pdftotext,并在PHP中获取输出以供进一步处理。

在PHP中解析了PDF数据之后,只需使用regexes获取所需的行。

这应该是像这样的PDF使用的框架。

其他方法是使用更高级的技术- python为这项工作提供了许多好的库:

票数 0
EN

Stack Overflow用户

发布于 2022-03-09 14:01:27

您将pdftotext指定为您的应用程序,并且您的示例足够正常地使用命令行裁剪,因此对于如下所示的文本数据输出文件

您可以使用

代码语言:javascript
复制
pdftotext -nopgbrk -marginl 200 -margint 150 -marginb 500 -layout "certificate (9).pdf" test.txt

但是,由于代码没有显示转换方法,因此需要调整输出行(忽略年龄或提取两个或更多块)才能获得所需的结果。

代码语言:javascript
复制
 "CertificateID" => "91815380284",
 "BeneficiaryName"=>"Kavita",
 "Gender" => "Female",
 "IDVerified" => "Aadhaar # XXXXXXXX3661",
 "BeneficiaryReferenceID" => "34684952644017",
 "VaccinationStatus" => "Fully Vaccinated (2 Doses)"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71404302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档