bytedeco / javacpp-presets

The missing Java distribution of native C++ libraries
Other
2.63k stars 731 forks source link

Upgrading to Tesseract 5 #1165

Open ken4ward opened 2 years ago

ken4ward commented 2 years ago

I am using a stack like this, it worked perfectly for Tesseract 3.0.4. I want to upgrade to Tesseract 5, and whenever I tried updating the pom of these dependencies it runs into issues of not being able to complete the test again. How do I upgrade to Tesseract 5. The most important is using this method TessResultIteratorWordFontAttributes to get the font properties.

<dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacpp-presets</artifactId>
            <version>${javacpp.version}</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacpp</artifactId>
            <version>${javacpp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacpp-presets-platform</artifactId>
            <version>${javacpp.version}</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>tesseract</artifactId>
            <version>3.05.01-1.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>tesseract-platform</artifactId>
            <version>3.05.01-1.4.1</version>
        </dependency>

I have used this method perfectly in Tesseract

devjeonghwan commented 2 years ago

The javacpp preset for Tesseract is already "5.0.1" in "1.5.7" tag

In your project POM, change javacpp version to 1.5.7 and tersseract version to 5.0.1.

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.bytedeco.tesseract</groupId>
    <artifactId>BasicExample</artifactId>
    <version>1.5.7</version>
    <properties>
        <exec.mainClass>BasicExample</exec.mainClass>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>tesseract-platform</artifactId>
            <version>5.0.1-1.5.7</version>
        </dependency>
    </dependencies>
    <build>
        <sourceDirectory>.</sourceDirectory>
    </build>
</project>

See link

If you need to keep javacpp version 1.4.1, you have to build it yourself.

saudet commented 2 years ago

Also, TessResultIteratorWordFontAttributes() is still there: http://bytedeco.org/javacpp-presets/tesseract/apidocs/org/bytedeco/tesseract/global/tesseract.html#TessResultIteratorWordFontAttributes-org.bytedeco.tesseract.ResultIterator-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.BoolPointer-org.bytedeco.javacpp.IntPointer-org.bytedeco.javacpp.IntPointer- You'll need to explain in more detail the issue you're facing...