4

PDFをPNGに変換するためにGhost4Jを使用しようとしています。人々が以前にこれを尋ねたことは承知していますが、OS X 10 と最新リリースの Ghost4J ではそうではありません。

ここからzippy1978の回答にリストされている指示に従いました:Javaを使用したPDFから画像へ

Ghost4Jページからすべてをフォローしました

また、ここから両方の回答を試しました:OS X 10.9でghost4jを使用するにはどうすればよいですか

また、 PortでGhostscript をインストールし、 Richard Koch の Web サイトから試してみました。

このエラーが引き続き発生します。

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)

ここで何が欠けていますか?

クラッシュしているコントローラーのコードは次のとおりです(行にマークを付けました):

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

1 に答える 1