pdftk依赖的gcj包是Java 的 GCC 编译器。GCJ 于 2016 年 9 月正式从 GCC 中删除,因此随后各个发行版的软件包存储库中止了 GCJ。因此,许多存储库也pdftk从其存储库中删除了(不再可构建的)软件包本身,包括Fedora、Ubuntu和Cygwin。
pdftk由于依赖性,我放弃了为自己的 Cygwin 系统构建的尝试gcj,并且因为我无法信任那些坚持使用已弃用 4 年的依赖项的开发人员提供的工具。2014 年(GCJ 最终被 GCC 放弃的两年前)的一封电子邮件交换pdftk引用了开发者的话:
是的,我听说他们正在放弃对 libgcj 的支持。我们一直在开发一个不依赖于 libgcj 的新 pdftk,但它目前处于预测试阶段。
然而,这个“预测试版”似乎没有任何进展,因为官方上次pdftk更新已经是 2013 年了。
我个人有两个选择:安装 的 Windows 二进制文件pdftk,这将导致安装与我的 Cygwin 环境的其余部分分开,或者使用 Cygwin 存储库中提供的不同但相似的工具,例如qpdf。鉴于我现在对上次pdftk更新的了解,我选择使用qpdf,到目前为止还没有失望。我对该工具的一个批评是,与 相比,它的网站和文档看起来不太漂亮(因此不太平易近人)pdftk,但该工具本身似乎具有所有相同的功能。
qpdf在大多数其他主要类 Unix 系统上也可用并得到积极维护,包括Ubuntu和Fedora。
感谢user1686的指出pdftk-java。pdftk-java是一个社区项目,是在从主要存储库中删除后出现的pdftk,其目标是将原始pdftk项目完全移植到 Java,从而使其摆脱对gcjC 编译器的任何依赖。该项目仍然相当新,在 2019 年中期发布了第一个版本,由于在 Cygwin 存储库中不可用,所以它不是我的选择,但它可以在Arch、Debian和Ubuntu上使用。