PHP pdf表单解析正则表达式

PHP pdf表单解析正则表达式,php,regex,pdf,Php,Regex,Pdf,我有两个PDF表单,我想为使用PHP输入值。似乎没有任何开源解决方案。唯一的解决办法似乎是超过400美元。因此,我尝试将数据转储为字符串,使用正则表达式进行解析,然后保存。这就是我到目前为止所做的: $pdf = file_get_contents("../forms/mypdf.pdf"); $decode = utf8_decode($pdf); $re = "/(\d+)\s(?:0 obj <>\/AP<>\/)(.*)(?:>> endobj)/U"

我有两个PDF表单,我想为使用PHP输入值。似乎没有任何开源解决方案。唯一的解决办法似乎是超过400美元。因此,我尝试将数据转储为字符串,使用正则表达式进行解析,然后保存。这就是我到目前为止所做的:

$pdf = file_get_contents("../forms/mypdf.pdf");
$decode = utf8_decode($pdf);
$re = "/(\d+)\s(?:0 obj <>\/AP<>\/)(.*)(?:>> endobj)/U";
preg_match_all($re, $decode, $matches);
print_r($matches);
$pdf=file\u get\u contents(“../forms/mypdf.pdf”);
$decode=utf8_decode($pdf);
$re=“/(\d+)\s(?:0 obj\/AP\/)(.*)(?:>>endobj)/U”;
preg_match_all($re,$decode,$matches);
打印(匹配项);
但是,即使在之后,我的打印内容仍然是空的。右边的匹配首先是字段的数字标识符(我想),然后是
V(XX1)
,其中“XX1”是我手动输入表单并保存的文本(作为一个测试,以找到数据存储的方式和位置)。我假设(但尚未测试)是一个复选框
N>/AS/Off

我是否需要在正则表达式中更改某些内容来查找匹配项,如
(2811 0 obj/AP/V(XX2)>>endobj)
,其中第一个查找项是键,第二个查找项是值?

第1部分-从PDF提取文本 下载class.pdf2text.php@(于2014年4月5日更新)或(需要注册)

用法:

include('class.pdf2text.php');
$a = new PDF2Text();
$a->setFilename('test.pdf'); 
$a->decodePDF();
echo $a->output(); 
该类无法处理我测试过的所有pdf,请尝试一下,您可能会很幸运:)

第2部分-写入PDF
要编写pdf内容,请使用fpdf的增强版和维护版。

感谢您的关注。我决定将PDF转换成svg文件(因为我不是批量完成的)。保留表单字段,通过一些小的编辑,我使它们可以打印。现在,我将能够填充这些值并获得pdf的可视化表示。我可能会尝试tcpdf,以防我想再次将其变成实际的pdf,尽管我假设它不会保留表单字段。

您不能打开这样的pdf。这篇文章可能会有帮助:您是只需要从已填写的表单中提取值,还是需要填写PDF表单?如果您只需要填写文本字段,许可证起价为180欧元(~$200),而不是400美元。顺便说一句:您引用的内容不完整,因为您似乎将其输出到浏览器,对吗?(查看源代码,你就会明白我的意思)无论如何,我认为没有一个正则表达式可以匹配所有可能的变量。我需要填写表格。是的,由于篇幅的原因,引用的内容并不完整。谢谢你的回复。