在 PHP 中将 PDF 转换为 HTML,类似于 DocuSign

我们正在开发一个需要将 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不同。

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


慕盖茨4494581
浏览 361回答 1
1回答

PIPIONE

您尝试做的事情并不像看起来那么简单。多年来,我一直在使用 Adobe Sign(以前称为 EchoSign),并且对这些服务的工作方式有很好的了解。话虽如此,我强烈建议您研究其中一项电子签名服务,而不是尝试推出自己的服务。它将为您节省大量时间。这就是一切的运作方式PDF 本身必须有一个带有命名字段的表单。换句话说,如果您在 Adobe Reader 或 Chrome 中打开此类 PDF,您应该能够填写这些字段。如果您的 PDF 没有 PDF 表单,您将需要 Acrobat PRO 等其他软件来创建表单。您必须将 PDF 转换为可以在浏览器中呈现的平面图像。您将需要一个工具来提取 PDF 表单信息,例如字段名称、类型、尺寸和坐标。有了所有这些信息,您就可以在浏览器中呈现 PDF 图像。使用上一步中的字段类型、尺寸和坐标将绝对定位的 HTML 表单元素放置在图像上。每个 HTML 元素都需要按名称引用 PDF 表单字段。field_name => field_value 从 HTML 小部件中收集信息和数据映射后,您将需要使用其他软件以编程方式在原始 PDF 中填写 PDF 表单。PDF 表单信息通常存储在 FDF 或 XFDF 文件中。我不知道有哪个工具可以帮助您完成上述工作,至少在 PHP 中没有。但是,我可以为您提供一个有用的建议:PDFtk Server - 可以帮助您提取 PDF 表单字段信息并填写相同的 XFDF 文件。遗憾的是,您可以使用此类工具提取的表单字段信息不包括尺寸和坐标。iText - .Net 和 Java 中可用的库,可用于提取有关 PDF 表单的详细信息,包括字段的尺寸和坐标。您可以使用这个可以与 PHP 通信的工具包创建微服务。肯定有更多的工具可以完成这项工作。希望这些信息能够引导您朝着正确的方向前进,或者帮助您决定如何推进您的项目。
打开App,查看更多内容
随时随地看视频慕课网APP