OS X 10.11上的 PDFtk 服务器

我已经在 OSX pre 10.11上使用 PDFTK服务器一年多了,在命令行上运行命令没有任何问题。

在安装 OSX 10.11 beta 之后,我不能再在命令行上运行任何 PDFTK Server 命令。它不会抛出任何错误,我尝试执行的所有命令只是无限期地挂起。

我一如既往地从 PDFTK服务器网站下载 pkg 安装:

Https://www.pdflabs.com/tools/pdftk-server/

我也试过用 Homebrew 从源代码安装。安装工作正常,但我得到了同样的结果,命令只是挂在终端上:

自制水龙头

我已经通过苹果公司的反馈助手应用程序向他们发出了投诉,这个应用程序在两个月前安装测试版时没有得到任何回应。

我被告知关于苹果反馈助理:

你可能永远不会收到回复,苹果只会通过 操作系统的主要错误反馈助理 需要额外的信息。这不是一种获得支持的方式,甚至 对于第三方应用程序而言,这种情况就没那么严重了。

我还联系了包装制造商 PDF 实验室,但没有得到回应。

MacPorts上,他们在 OS X 10.11上构建时遇到了问题,这是否意味着在软件级别上存在与 PDFtk 和10.11的兼容性问题?

我在网上搜索了一下,想知道是什么导致了这个问题,以及如何解决它,但是没有找到任何实质性的线索。

在 OS X 上,我不知道如何确定升级后是否存在权限或路径甚至 Java 问题。

任何帮助,无论是解决问题的根本原因或提供修复是感谢。


更新1:

我收到 PDF 实验室的 Sid Steward的回复:

我们几乎从测试版开始就一直在努力解决这个问题 我们仍在努力 与 pdftk 使用的(非 Apple)库之一不兼容 和 OS X 10.11。目前我正在安装另一个更新到 苹果的开发工具希望能够解决这个问题。 我会告诉你我们的进展。


更新2:

Sid Steward at PDF Labs

似乎在 pdftk 下有两个线程 这意味着每个线程都在等待另一个线程 我不是这方面的专家,但这是我的印象。这是一个 来自 Mac 活动监视器的截图说明:

enter image description here

上面的快照来自当前正在运行的 pdftk 二进制文件 我们在 OS X 10.11上的站点 Pdftk,其他的都是 OS X 库。

如前所述,我刚刚安装了昨天发布的 Xcode 7.0.1 我现在将尝试使用这些工具来构建 PDFTK.


更新3:

MacPorts 正在处理 PDFtk 的构建问题,这是一个 那个帖子的最新进展(注意: 这与 PDFtk 实验室无关) :

这是由于在10.11中使用 Apple 重新编译了 libunwind 产生新的有效优化(根据 Apple) 挠挠 FSF boehm-gc 中的未知错误。

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66848

不要指望苹果公司会修复 GPLv3代码,因为他们不能接触 GPLv3代码 查看 FSF boehm-gc 问题(除非他们使用 gcc43 应该仍然是 GPLv2)。这个问题是由 Libunwind 的重新编译可以通过以下事实来证明 从10.10中替换 libunwind.dylib 消除了 Boehm-gc 和 gcj 故障。

注意,文件归档为 radr://21372179,“ FSF boehm-gc 库 在10.10上建造,但未能通过10.11上的测试”,但已关闭 一个 FSF Boehm-gc 错误。


更新4:

MacPorts 找到了解决构建问题的方法,这是该线程的更新

附加的 Portfile.diff (当在 # 49227 修复 gcj)解决了 pdftk 的构建问题。


更新5:

PDF 实验室的 Sid Steward 有一个成功的构建,他的反馈是:

MacPorts gcc5的一个修复程序允许我构建一个可以工作的 pdftk 合并船长岩的 PDF 文件。修复被添加到你的票 张贴至:

MacPorts

我将继续完全测试这个 pdftk,然后将其打包成一个 这个过程可能需要几天的时间。


40589 次浏览

第三次编辑: 以下不是修复,而是变通方法,(因为有时候等待几个月的修复到来是不可行的)。


第二次编辑: 一致的 PDF 命令行工具(aka cpdf)对非商业用途是免费的,并且可以被授权用于商业用途。它提供的功能堪比 pdtk,而且(至少在我的 MacBook Pro 上)似乎在 El Capitan 下运行正常。


编辑: 这个 StackOverflow 回答告诉如何使用 ghostscript连接文件,从而提供类似于 "pdftk ... cat output out.pdf"的(笨拙的)功能。


出于某些目的,与诸如 texlive之类的 LaTeX 发行版一起提供的软件包 ghostscript提供了与 pdftk类似(但用户友好性较差)的功能。

例如,从一个多页的 pdf 文档中摘录第6-7页:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER \
-dFirstPage=6 -dLastPage=7 \
"-sOutputFile="${EXTRACTED_FILENAME_HERE}" \
"${SOURCE_FILENAME_HERE}" ;

以上这些对我来说都很有效... ... 你的经历可能会有所不同!

不用说,恢复 pdftk的全部功能下埃尔船长会更好... pdftk真的是一个了不起的实用工具。

变通方法: 我们在八月份向希德提出了这个问题,但他仍然没有解决这个问题,所以我认为公平地说,寻找替代方案是一个好主意。因此,我们主动提交了一些人们可以免费使用的第一批工具,放在以下存储库中:

Https://github.com/flexpaper/osx-pdf-toolkit

它包含了很容易使用的 CAT 和 BURST 脚本。我们打算今后增加更多的工具。尽管贡献吧

这些新工具使用的是原生 OSX 库,不需要任何第三方依赖!

编辑: 添加有关这是一个解决方案的信息

如果您使用 端口修补手册以及 Macports 票据 # 48528和 # 49227中提供的四个补丁,就可以在 El Capitan 下找到一个正在运行的 PDFTK 服务器。

编译打补丁的 GCC5在我的机器上花了很长时间。另外,将本地端口命名为与原始端口相同(即 gcc5和 pdftk)似乎是一个好主意,否则您必须调整 Portfiles。

还可以使用 install _ name _ tool 将生成的 pdftk 二进制文件与其动态库捆绑在一起 我成功地在另外两台机器上以这种方式运行 pdftk。

感谢您的耐心等待。我已经成功地在 OS X 10.11,El Capitan 上测试了这个 pdftk 安装程序和二进制文件:

Https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

我将更新我们的 PDF 实验室网站很快反映这个更新。

如果您已经从旧的安装程序中安装了 pdftk,那么这个安装应该就在它的正上方,没有问题——在安装这个安装程序之前不需要删除旧的 pdftk。

注意,这个安装程序/二进制文件还没有在旧版本的 OS X 上测试过。

请让我知道你是如何工作的。

我想感谢 Aaron 打开了这个线程,并带来了对构建工具问题的有益关注。我还要感谢 MacPorts 团队的专业和及时的工作!

为我工作安装新的,https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

删除旧的 pdftk 版本; 从查找器中搜索 PDFTK,移动到回收站,并且完成 pdftk _ uninstall. sh。

$ pdftk -version

Pdftk 2.02一个操作 PDF 文档的便利工具 版权所有(c)2003-13 Steward and Lee,LLC-请访问: www.pdftk.com 这是自由软件; 请参阅复制条件的源代码 没有保证,即使是商品性或特殊用途的适用性。

Pdftk 目前不为我工作的 OSX 塞拉利昂。

如果你在你的系统上安装了 码头,你可以使用我的轻量级 码头图像代替:

$ docker run -v $(pwd):/files alpine-pdftk --help

更好的是,只需使用下面的脚本作为替换:

#!/usr/bin/env bash
docker run --rm -v $(pwd):/files jottr/alpine-pdftk "$@"

现在可以按预期使用 pdftk: ./pdftk --help

感谢 github.com/quantiverge ,pdftk 应该可以在 brew 下安装。

在终端中运行以下命令。

brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb

更新了来自 github.com/zph 的补丁-谢谢!

2020年最新情况

工作:

请注意,为了在 MacOS High Sierra (10.13.5)Mac OS Catalina (10.15)上安装它(正如 Ivan Kurmanov 在评论中提到的) ,我必须从以下网站下载软件包:

Https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

当然,它不会让你正常安装,因为它不是从“应用程序商店”下载的,所以使用以下说明:

  1. 在 Finder 中,找到要打开的应用程序。

  2. 不要使用 Launchpad 进行此操作。 Launchpad 不允许您访问快捷菜单。

  3. 控件单击应用程序图标,然后从快捷菜单中选择“打开”。

  4. 单击“打开”。

  5. 这个应用程序被保存为安全设置的一个异常,你可以在将来双击它来打开它,就像你可以打开任何已注册的应用程序一样。

在那之后,只要经历安装过程,这几乎是 NEXT-NEXT 和享受:)

不起作用:

下面的命令 没有为我工作:

brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb

它出现了以下错误:

执行时失败; < code >/usr/bin/xar-xf /xxxx/Library/Cache/Homebrew/downloads/# { url _ sha256}—— * exited/xxxx/Library/Cache/Homebrew/downloads/# { url _ sha256}—— * exited 1.

祝你好运!

@ Learner 我在这里修改了菜谱: https://github.com/zph/homebrew-cervezas/blob/master/pdftk.rb并向你链接的回购提交了一份公关。

在合并之前,您可以安装为:

brew install https://github.com/zph/homebrew-cervezas/blob/master/pdftk.rb

或者,如果使用 自制的 Bundler,添加到您的 Brewfile:

tap 'zph/homebrew-cervezas'
brew 'pdftk'

也许到了2022年秋季再次更新的时候了:

AFIK 是最好的家酿木桶公式下载,提取和手动安装的 pdftk 2.02的二进制版本由 Sid Steward 在2015年提供的 OSX 10.11兼容性(这是 还是没有公开宣布)是一个从 Zphbrew install zph/cervezas/pdftk仍然可以在最近的操作系统上工作,(使用 Rosetta2)也可以在 ARM64上工作。

然而,与此同时,创建了原始 GPL 源的一个普通 Java fork/port,并积极地进行维护。这不再依赖于 GCJ 编译器,称为 Pdftk-java。虽然这取决于要安装的 jdk,但是上游自制程序再次为所有支持的操作系统和架构提供了一个常规公式。因此,一个简单的 brew install pdftk-java应该安装一个下拉式替换原来的 pdftk