在OS X 10.11上的PDFtk服务器
我已经在OSX pre 10.11
之前的OSX pre 10.11
上使用了PDFTK
Server一年以上,没有任何问题在命令行上运行命令。
安装OSX 10.11 beta后,我不能再在命令行上运行任何PDFTK
服务器命令。 它不会抛出任何错误,我试图执行的所有命令只是无限期地挂起。
我一直从我从PDFTK
服务器网站下载的pkg安装:
https://www.pdflabs.com/tools/pdftk-server/
我也尝试从源代码安装Homebrew。 安装工作,但我得到了相同的结果,命令只是挂在terminal:
自制水龙头
我通过他们的反馈助手应用程序向苹果发送了投诉,两个月前安装testing版时没有得到回应。
我已经被告知有关苹果反馈助手:
您可能永远不会收到回复。 苹果只通过反馈助手回复他们需要额外信息的操作系统的主要错误。 这不是获得支持的方式,对于第三方应用程序来说更是如此。
我也接触到PDF Labs ,这个软件包的制作者,没有回应。
在MacPorts上,他们在OS X 10.11上构build时遇到问题,这是否意味着在软件级别与PDFtk和10.11存在兼容性问题?
我在网上search了一些关于可能导致这个问题以及如何解决问题的线索,但没有发现任何有形的东西。
在OS X上,我不知道如何去确定升级后是否有权限或path甚至是Java问题。
任何帮助要么解决根本原因或提供解决scheme,表示赞赏。
更新1:
我从PDF实验室的Sid Steward听到:
几乎只要testing版已经出来,我们一直在摔跤。 我们仍在努力。 似乎与pdftk使用的一个(非Apple)库和OS X 10.11不兼容。 目前我正在安装苹果开发者工具的另一个更新,希望能够解决这个问题。 我会用我们的进展更新你。
更新2:
再次在PDF Labs的Sid Steward :
看起来有两个线程在pdftk下运行,并且它们是死锁的。 这意味着每个线程都在等待对方完成。 我不是这里的专家,但这是我的印象。 下面是Mac的活动监视器的截图,以说明:
上面的快照是试图在OS X 10.11上运行当前在我们站点上的pdftk二进制文件。 上面提到的libgcj库带有pdftk,其他的是OS X库。
正如我所说,我刚安装了昨天在App Store上发布的Xcode 7.0.1。 我现在将尝试使用这些工具来构buildpdftk。
更新3:
MacPorts正在使用PDFtk处理构build问题,这是该线程的更新 (注意:这与PDFtk实验室无关):
这是由于在10.11中使用Apple Clang 7进行了libunwind的重新编译,产生了新的有效优化(根据苹果公司的说法),这使得FSF boehm-gc发现了一个未知的bug。
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66848
不要指望苹果有任何修正,因为他们无法触及GPLv3代码来查看FSF的boehm-gc问题(除非他们使用的gcc43包仍然是GPLv2)。 这个问题是由libunwind的重新编译触发的,这个事实表明,用10.10replacelibunwind.dylib消除了boehm-gc和gcj失败。
请注意,这是提交作为radr:// 21372179,“build立在10.10上的FSF boehm-gc库未能在10.11上通过它的testing”,但作为FSF boehm-gc错误而closures。
更新4:
MacPortsfind了解决构build问题的方法,这是该线程的更新
附加的Portfile.diff(当在修复gcj的#49227上提议的gcc5更新中使用时)解决了pdftk的构build问题。
更新5:
PDF Labs的Sid Steward有一个成功的构build,他的反馈意见是:
MacPorts gcc5的一个修复允许我build立一个工作pdftk合并在El Capitan的PDF文件。 该修补程序已添加到您发布到的工单中:
MacPorts的
我将在将其包装到安装程序之前,继续完全testing此pdftk。 这个过程可能需要几天时间。
感谢您的耐心等待。 我已经成功地在OS X 10.11上testing了这个pdftk安装程序和二进制文件,El Capitan:
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg
我将尽快更新我们的PDF实验室网站以反映此更新。
如果您已经从旧的安装程序安装了pdftk,则应该在其之上安装pdftk,而不会出现任何问题 – 在安装此pdftk之前,不需要删除旧的pdftk。
请注意,此安装程序/二进制文件尚未在旧版本的OS X上进行testing。
请让我知道这是如何适用于你。
我想感谢Aaron打开这个线程,并且帮助我们关注构build工具的问题。 我也要感谢MacPorts团队的专业和及时的工作!
最好的祝福-
PDF实验室的Sid Steward
感谢github.com/quantiverge,pdftk应该在brew下安装。 这一个在OSX Sierra进行testing。
在terminal中运行以下内容。
brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb
在OSX Sierra上,Pdftk目前不适合我。
如果您的系统上安装了docker ,则可以使用我的轻量级Docker镜像 :
$ docker run -v $(pwd):/files alpine-pdftk --help
更好的是,简单地使用下面的脚本来替代:
#!/usr/bin/env bash docker run --rm -v $(pwd):/files jottr/alpine-pdftk "$@"
现在您可以按预期使用pdftk: ./pdftk --help
pdftk ./pdftk --help
为我工作安装新的, https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg
删除旧的pdftk版本; 从查找器中searchpdftk ,移动到垃圾箱,并完成pdftk_uninstall.sh。
$ pdftk -version
pdftk 2.02 a操作PDF文档的方便工具版权所有(c)2003-13pipe家和李,有限责任公司 – 请访问:www.pdftk.com这是自由软件; 请参阅复制条件的源代码。 没有任何保证,即使是适销性或特定用途的适用性。
第三编辑:以下是不是修复,而是变通办法,(因为有时候修复到几个月是不可行的)。
第二编辑: 相干PDF命令行工具 (又名cpdf
)是免费的非商业用途,并可以授权商业用途。 它提供的function可以与pdtk
相媲美,并且(至less在我的MacBook Pro上)似乎在El Capitan下运行良好。
编辑:这个StackOverflow的答案告诉如何使用ghostscript
来连接文件,从而提供(笨拙)function类似于"pdftk ... cat output out.pdf"
。
出于某种目的,包含ghostscript
—与LaTeX发行版一起发布,如texlive
—为pdftk
提供了类似的(但不太友好的)function。
例如,要从多页PDF文档中提取页面6-7:
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER \ -dFirstPage=6 -dLastPage=7 \ "-sOutputFile="${EXTRACTED_FILENAME_HERE}" \ "${SOURCE_FILENAME_HERE}" ;
上面的工作对我来说…你的里程可能会有所不同!
不用说,恢复pdftk
在埃尔卡皮坦下的全部function会好得多… pdftk
真的是一个了不起的效用。
解决方法:我们在8月份向Sid提出了这个问题,但他仍然没有解决这个问题,所以我认为公平地说,寻找替代品是个好主意。 因此,我们主动提交了一些人们可以免费享用的第一个工具,
https://github.com/flexpaper/OSX-PDF-Toolkit
它包含简单易用的CAT和BURST脚本。 我们打算在未来增加更多的工具。 随意贡献
这些新工具使用本地OSX库,不需要任何第三方依赖。 好极了!
编辑:添加有关这是一个解决方法的信息
如果您使用Macports票#48528和#49227中提供的四个修补程序一起使用修补端口手册,您可以到El Capitan下运行的PDFTK服务器。
GCC5补丁的编译花了很长时间在我的机器上。 另外,将本地端口命名为与原始端口相同(gcc5和pdftk)似乎是个好主意,否则您必须调整Portfiles。
也可以使用二进制和dynamic库上的install_name_tool将生成的pdftk二进制文件与其dynamic库一起进行捆绑。 我成功地在另外两台机器上以这种方式运行pdftk。
- brew安装maven 404错误
- Homebrew brew医生警告/Library/Frameworks/Python.framework,甚至连brew的Python安装
- 删除位于Brew安装位置以外的Python框架文件的最安全方法是什么?
- 优胜美地/ El Capitan php-gd + mcrypt安装
- 如何安装imagemagick与自制软件?
- 当我命令“brew cask install virtualbox”或“brew cask search google-chrome”时发生自制错误
- “请检查gdb是signedigned – 请参阅taskgated(8)” – 如何获得与自制代码签署的gdb安装?
- Node.js没有链接错误
- Homebrew + Python的Mac OS X 10.8:致命的Python错误:PyThreadState_Get:当前没有线程导入mapnik