31

我有一个很久以前用 PHP 编写的旧系统,我想更新到 node.js 以允许我与更现代的系统共享代码。不幸的是,PHP 系统的主要功能之一是允许它加载现有 PDF 文件(恰好是政府表格)、填写用户信息并向浏览器提供包含所有该信息存在。

我考虑过制作一个 PHP 脚本,它只会进行 PDF 自定义并使用节点来处理其他所有内容,但似乎这样的事情应该能够在不需要安装 PHP 的情况下完成。

知道如何仅使用节点来解决我的问题吗?

4

1 回答 1

51

经过大量搜索和几乎放弃,我最终发现HummusJS库会做我想做的事

2020 年 4 月更新:在我发布此内容之后的几年中,出现了其他选项,看起来它们应该可以工作。由于这个问题仍然受到很多关注,我想我会回来更新一些其他选项:

  • pdf-lib - 这是我目前最喜欢的;效果很好。它可能对非常大的 PDF 有限制,但它在不断改进,你几乎可以用它做任何事情——如果不是通过帮助程序 API,然后通过它们提供的抽象,它允许你使用几乎任何原始 PDF 功能,尽管这需要对 PDF 文件格式的了解比大多数人都多。

    值得注意的是,pdf-lib 不支持加载加密的 pdf,但您可以使用qpdf之类的东西在加载之前剥离加密。

  • https://www.npmjs.com/package/nopodofo - 这个应该是最好的选择之一,但我无法在 Mac 上自己运行

  • https://www.npmjs.com/package/node-pdfsign - 不完全相同,但可以与其他工具一起使用在 PDF 上进行数字签名。还没用过,但希望能用

2021 年 12 月更新:我仍在使用pdf-lib,我认为它仍然是最好的可用库,但是在过去几年中出现了很多用于处理 PDF 的新库,因此值得四处看看少量。

于 2014-10-18T23:46:28.690 回答