问题描述
我有一个 pdf,我已将其转换为 500dpi 和 600dpi 的 .png.(见下文).500dpi 版本与 jTessBoxEditor 一起工作得很好.但是,600dpi 的失败了.我尝试按照建议增加 JVM 堆大小
600dpi 图像在这里:
我看到的和你做的一样.除非您需要处理复杂的脚本,否则我建议您使用非 JavaFX 版本.
I have a pdf that I have converted to .png at 500dpi and 600dpi. (see below). The 500dpi version works just fine with jTessBoxEditor. But, the 600dpi one fails. I have tried increasing the JVM heap size as suggested here. Even the 600 dpi image is only 91KB. Even when I set the JVM heap size quite large, by running 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
I still fail to be able to open the 600dpi version. Instead, I get a very long set of errors in the terminal. Some snippets of these are:
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)
The 500dpi image is here:
and the 600dpi image is here:
I'm seeing the same thing you did. Unless you need to deal with complex scripts, I suggest you use the non-JavaFX version.
这篇关于jTessBoxEditorFX - 无法处理 600dpi .png 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!