首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少的PDFTK库

缺少的PDFTK库
EN

Ask Ubuntu用户
提问于 2018-08-06 23:49:36
回答 2查看 894关注 0票数 0

我使用以下说明在Ubuntu 18.04上设置pdftk:

代码语言:javascript
复制
sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk

摘自先前询问过的Askubuntu问题。我使用Node的包装器Scissors.js构建了一个快速应用程序来操作几个PDF。它在我的Mac上工作得很好,但是在Ubuntu上测试代码时,我会发现下面的错误试图编辑PDF。

我是不是搞错了pdftk的回购?

代码语言:javascript
复制
06-08 23:22:10.383: pdftk: Unhandled Java Exception in create_output():
06-08 23:22:10.384: pdftk: 
06-08 23:22:10.385: pdftk: java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringEscapeUtils
06-08 23:22:10.390: pdftk: 
06-08 23:22:10.391: pdftk:  at com.gitlab.pdftk_java.report.OutputXmlString(report.java:61)
06-08 23:22:10.392: pdftk: 
06-08 23:22:10.392: pdftk:  at com.gitlab.pdftk_java.report.OutputPdfName(report.java:92)
06-08 23:22:10.393: pdftk: 
06-08 23:22:10.394: pdftk:  at com.gitlab.pdftk_java.report.ReportInfo(report.java:810)
06-08 23:22:10.395: pdftk: 
06-08 23:22:10.395: pdftk:  at com.gitlab.pdftk_java.report.ReportOnPdf(report.java:964)
06-08 23:22:10.396: pdftk: 
06-08 23:22:10.397: pdftk:  at com.gitlab.pdftk_java.TK_Session.create_output(TK_Session.java:3365)
06-08 23:22:10.397: pdftk: 
06-08 23:22:10.398: pdftk:  at com.gitlab.pdftk_java.pdftk.main(pdftk.java:177)
06-08 23:22:10.398: pdftk: 
06-08 23:22:10.399: pdftk: Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringEscapeUtils
06-08 23:22:10.400: pdftk: 
06-08 23:22:10.401: pdftk:  at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
06-08 23:22:10.401: pdftk: 
06-08 23:22:10.402: pdftk:  at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
06-08 23:22:10.402: pdftk: 
06-08 23:22:10.403: pdftk:  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
06-08 23:22:10.403: pdftk: 
06-08 23:22:10.404: pdftk:  ... 6 more
06-08 23:22:10.404: pdftk: 
06-08 23:22:10.419: Error: PDF does not contain page number data.
     at BufferStream.<anonymous> (/home/cocatalyst/repo/workflow/node_modules/scissors/scissors.js:634:14)
     at emitNone (events.js:106:13)
     at BufferStream.emit (events.js:208:7)
     at BufferStream.end (/home/cocatalyst/repo/workflow/node_modules/bufferstream/lib/buffer-stream.js:292:14)
     at Stream.onend (internal/streams/legacy.js:44:10)
     at emitNone (events.js:111:20)
     at Stream.emit (events.js:208:7)
     at emitNone (events.js:111:20)
     at Socket.emit (events.js:208:7)
     at endReadableNT (_stream_readable.js:1064:12)
EN

回答 2

Ask Ubuntu用户

发布于 2018-08-07 00:32:40

我使用了这些命令并能够在没有库错误的情况下重新安装pdftk:

代码语言:javascript
复制
cd /tmp
# download packages
wget http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-6/libgcj17_6.4.0-8ubuntu1_amd64.deb \
    http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_6.4-3ubuntu1_all.deb \
    http://mirrors.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk_2.02-4build1_amd64.deb \
    http://mirrors.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk-dbg_2.02-4build1_amd64.deb 
echo -e "Packages for pdftk downloaded\n\n"
# install packages 
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj17_6.4.0-8ubuntu1_amd64.deb \
    ./libgcj-common_6.4-3ubuntu1_all.deb \
    ./pdftk_2.02-4build1_amd64.deb \
    ./pdftk-dbg_2.02-4build1_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e "   try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj17_6.4.0-8ubuntu1_amd64.deb
rm ./libgcj-common_6.4-3ubuntu1_all.deb
rm ./pdftk_2.02-4build1_amd64.deb
rm ./pdftk-dbg_2.02-4build1_amd64.deb
票数 1
EN

Ask Ubuntu用户

发布于 2018-08-16 14:23:49

折叠包装脚本为我解决了这个问题(到目前为止,可能需要更多的库):

代码语言:javascript
复制
#!/bin/bash
/usr/bin/java -cp /usr/share/java/commons-lang3.jar:/usr/local/bin/pdftk.jar pdftk "$@"

由于没有进一步跟踪或验证,类路径(-cp)选项在使用java -jar运行应用程序时似乎没有任何效果。

您可能需要调整路径到它们正确的位置。

问候

伊沃

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1063031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档