0

我们正在开发一个需要将 PDF 文件转换为 HTML 的网站,因为某些 PDF 有一个表格(不一定是可填写的 PDF,这些 PDF 是打印出来填写的)。

所以我们希望它通过我们的网站填写,而不是打印文件并用笔填写。我们正在实现无纸化。

DocuSign 提供了这些,您可以在其中上传 PDF,然后您可以将其自定义为具有文本框、复选框。所以我们有点使用 DocuSign 作为参考,但仍然没有弄清楚他们是如何做到的(几乎完美地将 PDF 转换为 HTML,反之亦然)。

到目前为止,我已经尝试了几种将 PDF 转换为 HTML 的第三方软件。我试过 XPDF、Poppler 和 ImageMagick。

ImageMagick 将 PDF 转换为不适合的图像,因为这些图像在转换回 PDF 进行打印时尺寸较大。

Poppler 是基于我的研究的一个 fork XPDF,我在使用 XPDF 后尝试过它是否更好,它基本上可以做 XPDF 的工作,但它会将 PDF 转换为在转换为 HTML 时在 CSS 上具有更大的像素。这很好,但它失去了字体系列。

XPDF 将 PDF 转换为 HTML 但像素较小,因此当我将其转换回 PDF 时,它不适合整个页面,我仍然需要手动调整所有 CSS 以适应它。

所以在使用了这些 3rd 方软件后,我使用 MPDF 将 HTML 文件转换回 PDF,转换后的文件有很多不一致之处。文本未正确对齐。它基本上与原始PDF不同。

任何帮助将不胜感激谢谢!

4

1 回答 1

0

您尝试做的事情并不像看起来那么简单。多年来,我一直在使用 Adob​​e Sign(以前称为 EchoSign),并且对这些服务的工作方式有很好的了解。话虽如此,我强烈建议您研究其中一项电子签名服务,而不是尝试推出自己的服务。它将为您节省大量时间。

这就是一切的运作方式

  1. PDF 本身必须有一个带有命名字段的表单。换句话说,如果您在 Adob​​e Reader 或 Chrome 中打开此类 PDF,您应该能够填写这些字段。如果您的 PDF 没有 PDF 表单,您将需要 Acrobat PRO 等其他软件来创建表单。
  2. 您必须将 PDF 转换为可以在浏览器中呈现的平面图像。
  3. 您将需要一个工具来提取 PDF 表单信息,例如字段名称、类型、尺寸和坐标。
  4. 有了所有这些信息,您就可以在浏览器中呈现 PDF 图像。使用上一步中的字段类型、尺寸和坐标将绝对定位的 HTML 表单元素放置在图像上。每个 HTML 元素都需要按名称引用 PDF 表单字段。
  5. 从 HTML 小部件中收集信息和数据图field_name => field_value 后,您将需要使用其他软件以编程方式在原始 PDF 中填写 PDF 表单。PDF 表单信息通常存储在 FDF 或 XFDF 文件中。

我不知道有哪个工具可以帮助您完成上述工作,至少在 PHP 中没有。但是,我可以为您提供一个有用的建议:

  • PDFtk Server - 可以帮助您提取 PDF 表单字段信息并填写相同的 XFDF 文件。遗憾的是,您可以使用此类工具提取的表单字段信息不包括尺寸和坐标。
  • iText - .Net 和 Java 中可用的库,可用于提取有关 PDF 表单的详细信息,包括字段的尺寸和坐标。您可以使用这个可以与 PHP 通信的工具包创建微服务。

肯定有更多的工具可以完成这项工作。希望这些信息能够引导您朝着正确的方向前进,或者帮助您决定如何推进您的项目。

于 2019-09-13T02:25:42.400 回答