首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用Ghost4J加载库“gs”

无法用Ghost4J加载库“gs”
EN

Stack Overflow用户
提问于 2015-08-13 19:21:14
回答 1查看 3.6K关注 0票数 4

我试图使用Ghost4J,以便将PDF转换为PNG。我知道以前有人问过这个问题,但是OS 10和Ghost4J的最新版本却没有这样做。

我遵循了zippy1978 1978的答案中列出的说明:用Java将PDF转换成图像

我跟踪了Ghost4J页面的一切

我也尝试过这两种答案:如何在OSX10.9上使用ghost4j?

我已经在端口中安装了Ghostscript,并从理查德·科赫的网站中尝试过。

我继续得到这个错误:

代码语言:javascript
复制
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.UnsatisfiedLinkError: Unable to load library 'gs': dlopen(libgs.dylib, 9): image not found] with root cause

java.lang.UnsatisfiedLinkError: Unable to load library 'gs': dlopen(libgs.dylib, 9): image not found
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
    at com.sun.jna.Library$Handler.<init>(Library.java:140)
    at com.sun.jna.Native.loadLibrary(Native.java:393)
    at com.sun.jna.Native.loadLibrary(Native.java:378)
    at org.ghost4j.GhostscriptLibraryLoader.loadLibrary(GhostscriptLibraryLoader.java:39)
    at org.ghost4j.GhostscriptLibrary.<clinit>(GhostscriptLibrary.java:34)
    at org.ghost4j.Ghostscript.initialize(Ghostscript.java:323)
    at org.ghost4j.renderer.SimpleRenderer.run(SimpleRenderer.java:105)
    at org.ghost4j.renderer.AbstractRemoteRenderer.render(AbstractRemoteRenderer.java:86)
    at org.ghost4j.renderer.AbstractRemoteRenderer.render(AbstractRemoteRenderer.java:70)
    at com.xxxx.yyyy.controller.rest.yyyyyController.zzzz(yyyyyController.java:182)

我在这里错过了什么?

“我的控制器”中正在崩溃的代码如下(我标记了行):

代码语言:javascript
复制
// imgSrc is the PDF in Base 64 and output file is a File

byte[] imageByte;
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imgSrc);
outputfile = new File("image.pdf");
OutputStream fop = new FileOutputStream(outputfile);
fop.write(imageByte);
fop.flush();
fop.close();
PDFDocument document = new PDFDocument();
document.load(outputfile);
SimpleRenderer renderer = new SimpleRenderer();
renderer.setResolution(300);
List images = renderer.render(document);       //CRASH TAKES PLACE HERE ***
outputfile = new File("image.png");
ImageIO.write((RenderedImage) images.get(0), "png", outputfile);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 20:21:41

所以我想通了!

我在这个对话中找到了答案

我也有同样的问题,虽然我已经安装了macport包“鬼怪脚本”。设置LD_LIBRARY_PATH有助于: $ export _LIBRARY_PATH=/opt/local/lib

这导致了一条警告信息:

代码语言:javascript
复制
log4j:WARN No appenders could be found for logger (slideselector.facedata.FaceDataParser).
log4j:WARN Please initialize the log4j system properly.

这是在以下帮助下解决的:如何正确初始化log4j?

对于所有像我这样的maven人员:将log4j.properties放到src/main/resources中

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

https://stackoverflow.com/questions/31996746

复制
相关文章

相似问题

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