如果您在 4.3 之前的版本中需要类似的功能,这里有一个我在意识到最终不需要它之前一直在使用的粗略技巧。
preg_match('/Fields\[(.*)\]/', $raw_pdf, $field_data);
echo "Fields: ", htmlentities($field_data[1]), "<HR>\n";
$field_data = $field_data[1];
$key_value = explode(">><<", $field_data);
$key_value[0] = substr($key_value[0], 2);
$key_value[count($key_value) - 1] = substr($key_value[count($key_value) - 1], 0, -2);
while (list(, $kv) = each($key_value)){
list($key, $value) = explode("/V", $kv);
$key = substr($key, 2);
if ($key[0] == '('){
$key = substr($key, 1, -1);
}
if ($value[0] == '/'){
$value = substr($value, 1);
}
if ($value[0] == '('){
$value = substr($value, 1, -1);
}
echo "Key: $key Value: $value<BR>\n";
}
您可以将 $raw_pdf 设置为在您写入提交的 PDF 之前 $HTTP_RAW_POST_DATA 的内容,或者也可以将其设置为使用如下方式从 PDF 读取的原始 PDF 数据:
$raw_pdf = implode("", file("/path/to/your/fdf/whatever.pdf"));
您可能需要调整它以执行比打印内容更有趣的操作。
嗯。他们会因为这篇文章把我关进监狱吗?好吧。