1

我正在使用 FPDM php 脚本(使用 FPDF),据我所知,它需要兼容的 pdf 才能合并表单数据。脚本的说明说要使用 pdftk 来做到这一点。我已经这样做了,无论我做什么......如果我尝试使用除示例 template.pdf 或 ex.pdf 之外的任何内容,脚本就会出错。

我什至可以修改 template.pdf 文件——例如,只需删除元素,然后重新保存它,然后在其上运行 pdftk 程序,获取相应的输出文件并尝试使用它,即使这样也行不通。

我正在使用 Adob​​e Acrobat 8​​ Professional。我可以看到 template.pdf 文件是 pdf 1.4。我也尝试过以旧格式保存,但仍然没有乐趣。

我究竟做错了什么??

fpdm 脚本可以在这里找到:http ://www.fpdf.org/en/script/script93.php

4

1 回答 1

0

在我发现这个问题之前,我的故障排除过程是完全一样的。无论我做什么,我都会不断出错 - 唯一对我有用的是包含的模板。即使在 acrobat 中打开模板,不进行任何更改,然后重新保存也会导致错误。

在我什至发现 Woohoo Webs 在他的回答中建议并尝试之前。

以下格式对我有用:PDF 1.4 (Acrobat 5)。我实际上必须转到另存为 -> 选择 Adob​​e PDF Optimized,然后单击设置按钮。从那里我必须从下拉/飞出菜单中选择版本。

我收到错误:“与快速网络视图不兼容”或类似错误。如果在 PDF 优化设置选项中单击左侧的“清理”,则可以取消切换快速 Web 视图。

现在我收到错误,PDF-Merge Error: field 'fieldname' not found。当我通过pdftk运行它希望解决这个问题时,我收到错误:FPDF-Merge错误:对象数(35)与外部参照数(36)不同,有些东西,pdf外部参照表已损坏:(

要解决此问题,我必须在 ubuntu 上下载并安装 pdftk 服务器实用程序

sudo apt-get install pdftk

安装后,如果可能,我运行此命令来修复 PDF 损坏的 XREF 表和流长度:

pdftk broken.pdf output fixed.pdf

当我打开 fixed.pdf 时,它没有任何问题并正确填充字段。哈利路亚,这是世界上最烦人的问题。总而言之,我必须采取 pdf 并完成以下步骤:

  • 根据偏好编辑 PDF
  • 另存为 > .pdf 优化 > 设置 > Acrobat 5 > 在清理下取消选中快速网络
  • 在 pdftk 中打开文件并重新保存
  • 通过 ubuntu 安装命令行 pdftk
  • 运行命令:pdftk broken.pdf 输出fixed.pdf

完毕。

于 2016-12-22T13:32:36.133 回答