OS X 10.11上的PDFtk服务器

时间:2015-09-10 15:26:47

标签: macos pdf homebrew pdftk osx-elcapitan

我在PDFTK上使用OSX pre 10.11服务器超过一年没有任何问题在命令行上运行命令。

安装OSX 10.11 beta后,我无法再在命令行上运行任何PDFTK服务器命令。它不会抛出任何错误,我尝试执行的所有命令都会无限期地挂起。

我是从PDFTK服务器网站下载的pkg安装的:

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

我也尝试使用Homebrew从源代码安装。安装工作,但我得到相同的结果,命令只挂在终端:

Homebrew tap

我已经通过他们的反馈助理应用程序向Apple发送了投诉,这个应用程序是在两个月前安装测试版时安装的,没有回复。

我被告知Apple反馈助理:

  

您可能不会收到回复。苹果只回复   反馈助手,用于操作系统的主要错误   需要更多信息。它甚至不是获得支持的一种方式   对于第三方应用程序而言则较少。

我还与包裹的制造商PDF Labs联系,没有回复。

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

我在网上搜索了可能导致问题的原因以及如何解决问题的线索,但却没有发现任何问题。

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

任何有助于解决根本原因或提供解决方案的帮助都表示赞赏。

更新1:

我从Sid Steward at PDF Labs收到了回复:

  

我们一直在努力解决这个问题   出。我们仍在努力。似乎有一个   与pdftk使用的(非Apple)库之一不兼容   和OS X 10.11。目前我正在安装另一个更新   Apple的开发人员工具希望它能解决问题。   我会告诉你我们的进展。

更新2:

再次

Sid Steward at PDF Labs

  

看起来有两个线程在pdftk下运行,他们就是这样   陷入僵局。这意味着每个线程都在等待另一个线程   完成。我不是这里的专家,但那是我的印象。这里有一个   来自Mac的Activity Monitor的截图说明:

enter image description here

  

上面的快照来自于尝试运行当前打开的pdftk二进制文件   我们的OS X 10.11站点。上面提到的libgcj库随附   pdftk,其他是OS X库。

     

正如我所说,我刚刚安装了昨天发布的Xcode 7.0.1   在App商店。我现在将尝试使用这些工具来构建   PDFTK。

更新3:

MacPorts正在处理PDFtk的构建问题,这是一个update on that thread(注意:这与PDFtk实验室无关):

  

这是由于使用Apple在10.11中重新编译libunwind   Clang 7产生了新的有效优化(根据Apple的说法)   在FSF boehm-gc中发现一个未知的bug。

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

  

不要指望Apple有任何修复,因为他们无法触及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 bug。

更新4:

MacPorts找到了解决构建问题的方法,这是一个update on that thread

  

附加的Portfile.diff(与建议的gcc5更新一起使用时)   修复gcj的#49227解决了pdftk的构建问题。

更新5:

Sid Steward at PDF Labs有一个成功的构建,他的反馈:

  

MacPorts gcc5的修复允许我构建一个工作的pdftk   合并El Capitan上的PDF文件。修复程序已添加到您拥有的故障单中   发布到:

MacPorts

  

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

10 个答案:

答案 0 :(得分:235)

感谢您的耐心等待。我已经在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团队的专业和及时的工作!

最诚挚的问候 -

Sid Steward,PDF Labs

答案 1 :(得分:45)

感谢github.com/quantiverge,pdftk应该可以在brew下安装。这个在OSX Sierra中进行了测试。

在终端中运行以下命令。

{{1}}

答案 2 :(得分:6)

Pdftk目前在OSX Sierra上不适合我。

如果您的系统上安装了docker,则可以使用我的轻量级docker image代替:

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

更好的是,只需使用以下脚本作为替代品:

./pdftk --help

现在您可以按预期使用pdftk:System.out.println(1);

答案 3 :(得分:4)

2019更新

工作:

请注意,要安装在 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

当然,它不会让您正常安装,因为它不是从“ App Store”下载的,因此请按照以下说明进行操作:

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

  2. 请勿使用启动板执行此操作。启动板不允许您访问快捷菜单。

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

  4. 单击“打开”。

  5. 该应用程序被保存为安全设置的例外,以后您可以像双击任何已注册的应用程序一样双击该应用程序来打开它。

之后,只需完成安装过程即可,几乎就是NEXT-NEXT,请尽情享受:)

不起作用:

以下brew命令 DID NOT 对我有用:

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

它给出了以下错误:

  

执行时失败; /usr/bin/xar -xf /xxxx/Library/Caches/Homebrew/downloads/\#\{url_sha256\}--\*退出   与1。

祝你好运!

答案 4 :(得分:3)

为我工作安装新的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 这是免费软件;查看复制条件的源代码。有 保修,甚至不适用于适销性或特定用途的适用性。

答案 5 :(得分:1)

第三次编辑:以下不是修复,而是解决方法,(有时候,等待修复程序到达的时间有时是不可行的。)

第二次修改: Coherent PDF Command Line Tools(又名cpdf)可以免费用于非商业用途,并且可以获得商业用途许可。它提供了与pdtk相当的功能,并且(至少在我的MacBook Pro上)似乎在El Capitan下运行正常。

修改:此StackOverflow answer说明如何使用ghostscript连接文件,从而提供类似于"pdftk ... cat output out.pdf"的(笨拙)功能。

出于某些目的,包含ghostscript等LaTeX发行版的软件包texlive ---为pdftk提供了类似(但用户友好程度较低)的功能。

例如,从多页pdf文档中提取第6-7页:

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

以上对我有用......你的里程可能会有所不同!

毋庸置疑,在El Capitan下恢复pdftk全功能会好得多...... pdftk确实是一个非常好的实用程序。

答案 6 :(得分:1)

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

https://github.com/flexpaper/OSX-PDF-Toolkit

它包含易于使用的CAT和BURST脚本。我们打算在未来添加更多工具。随意贡献

这些新工具使用本机OSX库,无需任何第三方依赖。耶!

编辑:添加了有关此解决方法的信息

答案 7 :(得分:1)

如果您使用manual of patching ports以及Macports门票#48528和#49227中提供的四个补丁,您可以使用El Capitan下的正在运行的PDFTK服务器。

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

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

答案 8 :(得分:1)

截至2018-05-09的更新状态:

  1. 不是啤酒标准来源
  2. https://github.com/spl/homebrew-pdftk未维护/弃用
  3. 位于https://www.pdflabs.com/tools/pdftk-server/

答案 9 :(得分:1)

@Learner我将食谱固定在这里:https://github.com/zph/homebrew-cervezas/blob/master/pdftk.rb,并将PR提交给了您链接的仓库。

在合并之前,您可以:

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