无法使用Ghost4J加载库’gs’

我正在尝试使用Ghost4J将PDF转换为PNG。 我知道人们之前已经问过这个问题,但不是OS X 10以及最新版本的Ghost4J。

我已经按照zippy1978的答案中列出的说明进行操作: PDF到使用Java进行映像

我已经关注了Ghost4J页面中的所有内容

我也从这里尝试了两个答案: 我如何在OS X 10.9上使用ghost4j

我已经安装了Ghostscript和Port ,并尝试过Richard Koch的网站 。

我继续得到这个错误:

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.(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.(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) 

我在这里想念的是什么?

我的控制器崩溃的代码是这个(我标记了行):

 // 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); 

所以我已经弄明白了!

我在这次谈话中找到了答案:

我有同样的问题,虽然我已经安装了macports包“ghostscript”。 设置LD_LIBRARY_PATH有助于:

$ export LD_LIBRARY_PATH = / opt / local / lib

这引发了一条警告信息:

 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