jTessBoxEditorFX - 无法处理 600dpi .png 文件

jTessBoxEditorFX - Cannot Handle 600dpi .png Files

我有一个 pdf,我已将其转换为 500dpi 和 600dpi 的 .png。 (见下文)。 500dpi 版本与 jTessBoxEditor 一起工作得很好。但是,600dpi 失败了。我已尝试按照建议增加 JVM 堆大小 。即使是 600 dpi 的图像也只有 91KB。即使我将 JVM 堆大小设置得相当大,通过 运行 jTessBoxEditor as:

export JAVA_HOME="/Library/Internet Plug-ins/JavaAppletPlugin.plugin/Contents/Home/"  ## necessary to get latest java runtime environment because I am on a mac.
java -Xms1024m -Xmx2048m -jar jTessBoxEditorFX.jar

600dpi版还是打不开。相反,我在终端中收到了很长的错误集。其中一些片段是:

java.lang.NullPointerException
    at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:213)
    at com.sun.javafx.sg.prism.NGCanvas.initCanvas(NGCanvas.java:640)
    at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:603)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
    at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)

...

java.lang.NullPointerException
    at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:213)
    at com.sun.javafx.sg.prism.NGCanvas.initCanvas(NGCanvas.java:640)
    at com.sun.javafx.sg.prism.NGCanvas.renderForcedContent(NGCanvas.java:624)
    at com.sun.javafx.sg.prism.NGGroup.renderForcedContent(NGGroup.java:198)
    at com.sun.javafx.sg.prism.NGGroup.renderForcedContent(NGGroup.java:198)
    at com.sun.javafx.sg.prism.NGGroup.renderForcedContent(NGGroup.java:198)
    at com.sun.javafx.sg.prism.NGGroup.renderForcedContent(NGGroup.java:198)

...

    at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
    at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:477)
    at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:330)
    at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
    at java.lang.Thread.run(Thread.java:745)

500dpi 图像在这里:

600dpi 图像在这里:

我看到了你做的同样的事情。除非你需要处理复杂的脚本,否则我建议你使用非JavaFX版本。