当前位置: 首页 > 知识库问答 >
问题:

Intellij中的Tesseract无法读取pdf,因为gsdll64库无法加载

万涵亮
2023-03-14

我正在尝试用Tesseract OCR阅读器阅读pdf。不过,它对图像文件非常有效。

以下是我所做的:

>

  • 创建一个Maven项目
  • 添加了tess4j版本4.4.1作为依赖项
  • 将java版本更改为13
  • 添加了以下代码:

    import net.sourceforge.tess4j.Tesseract;
    
    import java.io.File;
    
    public class OcrReader {
    
    public static void main(String[] args) throws Exception{
        String inputFilePath = "C:\\Users\\non\\Desktop\\1.pdf";
    
        Tesseract tesseract = new Tesseract();
        tesseract.setDatapath("C:\\Users\\non\\Desktop\\tessdata\\");
      //tesseract.setLanguage("dan");
        String string = tesseract.doOCR(new File(inputFilePath));
        System.out.println(string);
    }
    }
    

    之后,我发现以下错误:

    10:40:46.208 [main] ERROR net.sourceforge.tess4j.util.PdfGsUtilities - Unable to load library 'gsdll64':
    The specified module could not be found.
    
    The specified module could not be found.
    
    The specified module could not be found.
    
    Native library (win32-x86-64/gsdll64.dll) not found in resource path (C:\Users\non\IdeaProjects\OcrSample\target\classes;C:\Users\non\.m2\repository\net\sourceforge\tess4j\tess4j\4.4.1\tess4j-4.4.1.jar;C:\Users\non\.m2\repository\net\java\dev\jna\jna\5.4.0\jna-5.4.0.jar;C:\Users\non\.m2\repository\com\github\jai-imageio\jai-imageio-core\1.4.0\jai-imageio-core-1.4.0.jar;C:\Users\non\.m2\repository\org\ghost4j\ghost4j\1.0.1\ghost4j-1.0.1.jar;C:\Users\non\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\non\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar;C:\Users\non\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\non\.m2\repository\org\apache\xmlgraphics\xmlgraphics-commons\1.4\xmlgraphics-commons-1.4.jar;C:\Users\non\.m2\repository\com\lowagie\itext\2.1.7\itext-2.1.7.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox\2.0.17\pdfbox-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\fontbox\2.0.17\fontbox-2.0.17.jar;C:\Users\non\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox-tools\2.0.17\pdfbox-tools-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\pdfbox-debugger\2.0.17\pdfbox-debugger-2.0.17.jar;C:\Users\non\.m2\repository\org\apache\pdfbox\jbig2-imageio\3.0.2\jbig2-imageio-3.0.2.jar;C:\Users\non\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\non\.m2\repository\net\sourceforge\lept4j\lept4j\1.12.3\lept4j-1.12.3.jar;C:\Users\non\.m2\repository\org\jboss\jboss-vfs\3.2.14.Final\jboss-vfs-3.2.14.Final.jar;C:\Users\non\.m2\repository\org\jboss\logging\jboss-logging\3.1.4.GA\jboss-logging-3.1.4.GA.jar;C:\Users\non\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\non\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\non\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\non\.m2\repository\org\slf4j\jul-to-slf4j\1.7.28\jul-to-slf4j-1.7.28.jar;C:\Users\non\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.28\jcl-over-slf4j-1.7.28.jar;C:\Users\non\.m2\repository\org\slf4j\log4j-over-slf4j\1.7.28\log4j-over-slf4j-1.7.28.jar)
    
    10:40:46.849 [main] DEBUG org.apache.fontbox.ttf.PostScriptTable - No PostScript name information is provided for the font Cambria
    

    我该如何着手解决这个问题?

  • 共有1个答案

    方茂
    2023-03-14

    是否正确安装了Ghostscript?

    它应该包括一个文件gsdll32。dll。

    如果没有,请从此链接下载Win64的Ghost cript安装程序https://www.ghostscript.com/download/gsdnld.html并运行它。

    安装后,应该有一个文件gsdll64。目录中的dll

    %您的\u安装\u dir%\gs\gs9。05\bin\

    我希望这能解决你的问题。

     类似资料:
    • 问题内容: 我使用Maven 将其包含在我的项目中,并将Ghostscript安装到。 但是我仍然会出错 。 我添加到位于“ gsdll64.dll”(即)所在的env变量目录中。还尝试使用启动应用程序。 但是我总是得到(但是当我使用JVM参数启动时,我得到了异常(Eclipse找不到Main类,但是当我启动我的应用程序时,我手动将Eclipse指向Main类))/ 问题答案: 如果复制到工作目录

    • 我正在通过一个对我来说是新的IDE进行一个学校项目:IntelliJ。 为了提交我的项目(通过git),我创建了一个git存储库,添加了正确的remote及其密码,并尝试将我的工作推到主分支(在成功添加/提交所述工作之后)。 一开始我收到以下错误消息: 推送失败:失败,错误:致命:无法从远程存储库读取。 下面是我的文件: 我哪里错了?

    • 我一整天都在试着让它发挥作用。现在我可以将文档另存为。docx文件,但我希望能够将文档保存为PDF,我已尝试使用DOMPDF和TCPDF,但不断出现错误“无法加载PDF库”,我确认路径正确。我错过什么了吗?谢谢你的帮助 下面是引发错误的代码 下面是全部错误 致命错误:未捕获异常“PhpOffice\PhpWord\exception\exception”,消息为“无法加载PDF呈现库”/PHPWo

    • 在我的电脑(64位操作系统,x64处理器)上,我安装了亚马逊科雷托JDK 11(64位)和IntelliJ IDEA。它一直工作到今天,没有任何问题。但是现在我打不开我的思维。事实上,它甚至没有发射。 我检查了Java的环境变量和路径引用。它都设置好了。但是当我双击Intellij IDEA时,它会显示加载符号一会儿,但它没有启动。我试图通过转到它的目录并使用cmd来运行相同的操作。但它仍然没有启

    • 我有一个java中的练习,它的文本是: 矩阵类表示整数数组。其框架如下:公共类矩阵{private int[]]mat;/*创建一个矩阵对象,其内容由矩阵矩阵表示。*/public Matrix(int[][]mat){…}/*返回由调用该方法的对象表示的矩阵元素之和。*/public int sumElements(){…}/*通过移除行i和列j*/公共子矩阵矩阵(int i,int j){。。

    • 我正在尝试使用JAVA填写PDF表单,但当我尝试使用下面的代码获取字段时,列表为空。 然后我尝试使用PDFStripper读取文件 输出如下 “请稍候。。。 如果此消息最终未被文档的正确内容替换,则PDF查看器可能无法显示此类文档。 您可以通过访问升级至最新版本的Adobe Reader for Windows®、Mac或Linux®http://www.adobe.com/go/reader_d