<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documentation – Developer&#39;s reference</title>
    <link>https://docs.aspose.com/ocr/java/developer-reference/</link>
    <description>Recent content in Developer&#39;s reference on Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Thu, 09 Jun 2022 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://docs.aspose.com/ocr/java/developer-reference/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Java: Preparing content for recognition</title>
      <link>https://docs.aspose.com/ocr/java/ocrinput/</link>
      <pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/ocrinput/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java provides a versatile way to prepare your content for OCR. A package of recognized files/directories/URLs, regardless of their number and type, is constructed as an instance of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class. With this approach, you can easily process a single image or a large number of images from an auto-feed scanner in a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/&#34;&gt;single API call&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The object constructor takes the &lt;a href=&#34;#supported-content-types&#34;&gt;type&lt;/a&gt; of the provided content and optional &lt;a href=&#34;#applying-image-processing-filters&#34;&gt;processing filters&lt;/a&gt; that will be applied to all images in a batch.&lt;/p&gt;
&lt;h2 id=&#34;supported-content-types&#34;&gt;Supported content types&lt;/h2&gt;
&lt;p&gt;You can only pack sources of the same type into one instance of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class. The &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/inputtype/&#34;&gt;type&lt;/a&gt; is specified in the constructor and cannot be changed later.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source content type&lt;/th&gt;
&lt;th&gt;Supported file formats&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.SingleImage&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more GIF, PNG, JPEG, BMP, or single-page TIFF images. The images can be provided by their absolute or relative paths, as &lt;code&gt;BufferedImage&lt;/code&gt; objects, or as &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/image-by-pixel/&#34;&gt;arrays of pixels&lt;/a&gt;.&lt;br /&gt;You can add images of different types in a single batch.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.PDF&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more PDF documents, containing scanned pages. The files can be provided by their absolute or relative paths or as &lt;code&gt;BufferedImage&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.TIFF&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more multi-page TIFF images. The files can be provided by their absolute or relative paths or as &lt;code&gt;BufferedImage&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.DJVU&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more DjVu files, provided by their absolute or relative paths or as &lt;code&gt;BufferedImage&lt;/code&gt; objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.URL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more web links to GIF, PNG, JPEG, BMP, or single-page TIFF images. Aspose.OCR for Java will download them automatically before processing.&lt;br /&gt;&lt;strong&gt;Limitations:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Aspose.OCR for Java does not support authentication and can only work with public URLs.&lt;/li&gt;&lt;li&gt;The URL must point directly to the image. Aspose.OCR for Java cannot extract images from HTML pages.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.Directory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Absolute or relative paths to one or more directories containing GIF, PNG, JPEG, BMP, or single-page TIFF images. Unless specifically configured, all nested images will be recognized.&lt;br /&gt;&lt;strong&gt;Subdirectories and nested archives will not be processed!&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.Zip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Absolute or relative paths to one or more ZIP archives containing GIF, PNG, JPEG, BMP, or single-page TIFF images. Unless specifically configured, all archived images will be recognized.&lt;br /&gt;&lt;strong&gt;Nested archives and directories will not be processed!&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;InputType.Base64&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One or more GIF, PNG, JPEG, BMP, or single-page TIFF images provided as Base64-encoded strings.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;


&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

Combination of different content types (for example, images and PDF documents) within a single &lt;code&gt;OcrInput&lt;/code&gt; object is not supported.
&lt;/div&gt;

&lt;h2 id=&#34;adding-source-content&#34;&gt;Adding source content&lt;/h2&gt;
&lt;p&gt;To manage a batch of images, scanned PDFs, URLs, directories, and other OCR content, use the following methods of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(string)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add an absolute or relative path to a file/directory, or a URL to an image file on the web.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(string, int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add an absolute or relative path to a multi-page image, PDF document, ZIP archive or directory, specifying the images/pages for recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(BufferedImage)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a &lt;code&gt;BufferedImage&lt;/code&gt; object, containing a file to be recognized.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(BufferedImage, int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a &lt;code&gt;BufferedImage&lt;/code&gt; object, containing a milti-page image, PDF document, or ZIP archive, specifying the images/pages for recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(InputStream)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a &lt;code&gt;InputStream&lt;/code&gt; stream, containing a file to be recognized.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(InputStream, int, int)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add a &lt;code&gt;InputStream&lt;/code&gt; stream, containing a milti-page image, PDF document, or ZIP archive, specifying the images/pages for recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;add(int[], int, int, PixelType)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add an image provided as an &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/image-by-pixel/&#34;&gt;array of pixels&lt;/a&gt;. You must specify the width, height and the color depth (number of bits per pixel).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;addBase64(string)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Add an image encoded as Base64 string.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To get the number of items in the batch, use &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/#size--&#34;&gt;&lt;code&gt;size()&lt;/code&gt;&lt;/a&gt; method of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class.&lt;/p&gt;
&lt;h2 id=&#34;removing-source-content&#34;&gt;Removing source content&lt;/h2&gt;
&lt;p&gt;To clear a batch, use &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/#clear--&#34;&gt;&lt;code&gt;clear()&lt;/code&gt;&lt;/a&gt; method of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class.&lt;/p&gt;
&lt;h2 id=&#34;applying-image-processing-filters&#34;&gt;Applying image processing filters&lt;/h2&gt;
&lt;p&gt;The accuracy and reliability of text recognition is highly dependent on the quality of the original image. Aspose.OCR for Java offers a large number of fully automated and manual image &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/net/image-processing/&#34;&gt;processing filters&lt;/a&gt; that enhance an image before it is sent to the OCR engine.&lt;/p&gt;
&lt;p&gt;To apply processing filters to all images in the batch, provide them in the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/#OcrInput-com.aspose.ocr.InputType-com.aspose.ocr.PreprocessingFilter-&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt; object constructor&lt;/a&gt;, or later using &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/#replaceFilters-com.aspose.ocr.PreprocessingFilter-&#34;&gt;&lt;code&gt;replaceFilters()&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;p&gt;To remove all processing filters from a batch, use &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/#clearFilters--&#34;&gt;&lt;code&gt;clearFilters()&lt;/code&gt;&lt;/a&gt; method of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt; class.&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following code samples demonstrates how to prepare content for recognition:&lt;/p&gt;





&lt;nav&gt;
  &lt;div class=&#34;book-tabs nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-1&#34; checked=&#34;checked&#34; /&gt;
      &lt;label for=&#34;tabs-1-1&#34;&gt;Provide multiple images&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-2&#34;  /&gt;
      &lt;label for=&#34;tabs-1-2&#34;&gt;Provide scanned PDF&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;PDF&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize pages 2 to 8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;scan.pdf&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-3&#34;  /&gt;
      &lt;label for=&#34;tabs-1-3&#34;&gt;Apply processing filters&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Automatically deskew all images
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;PreprocessingFilters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AutoSkew&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Prepare batch
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/nav&gt;


      </description>
    </item>
    
    <item>
      <title>Java: Image processing</title>
      <link>https://docs.aspose.com/ocr/java/image-processing/</link>
      <pubDate>Fri, 14 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/image-processing/</guid>
      <description>
        
        
        &lt;style&gt;
	#filters-chain &gt; div {
		display: flex;
		align-items: center;
	}

	#filters-chain &gt; div &gt; label {
		margin: 0 0 0 7px;
		font-weight: 700;
	}

	.hidden {
		display: none !important;
	}
&lt;/style&gt;
&lt;p&gt;The accuracy and reliability of text recognition is highly dependent on the quality of the original image. Aspose.OCR offers a large number of fully automated and manual image processing filters that enhance an image before it is sent to the OCR engine.&lt;/p&gt;
&lt;p&gt;Each preprocessing filter increases the image processing time. The approximate amount of additional time required for pre-processing (as a percentage of the minimum image processing pipeline) is listed in the &lt;strong&gt;Performance Impact&lt;/strong&gt; column.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Filter&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Performance impact&lt;/th&gt;
&lt;th&gt;Usage scenarios&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/deskew/#automatic-skew-correction&#34;&gt;Skew correction&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically straighten images aligned at a slight angle to the horizontal.&lt;/td&gt;
&lt;td&gt;12%&lt;/td&gt;
&lt;td&gt;Skewed images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/deskew/#manual-skew-correction&#34;&gt;Rotation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Manually rotate severely skewed images.&lt;/td&gt;
&lt;td&gt;7.5%&lt;/td&gt;
&lt;td&gt;Rotated images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/denoise/&#34;&gt;Noise removal&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically remove dirt, spots, scratches, glare, unwanted gradients, and other noise from photos and scans.&lt;/td&gt;
&lt;td&gt;175% extra time&lt;br /&gt;38% more memory &lt;sup&gt;(1)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Old books&lt;br /&gt;Newspapers&lt;br /&gt;Postcards&lt;br /&gt;Documents with stains and dirt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/contrast/&#34;&gt;Contrast correction&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Automatically adjust the image contrast.&lt;/td&gt;
&lt;td&gt;7.5%&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Old papers&lt;br /&gt;Text on a background&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/resize/&#34;&gt;Resizing&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Proportionally scale images up / down, or manually define the width and height of the image.&lt;/td&gt;
&lt;td&gt;up to 100% &lt;sup&gt;(2)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Medication guides&lt;br /&gt;Food labels&lt;br /&gt;Full-sized photos from modern cameras and smartphones&lt;br /&gt;Scanned images at very high DPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/binarization/&#34;&gt;Binarization&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Convert images to black and white automatically or manually adjust the criteria that determines whether a pixel is considered black or white.&lt;/td&gt;
&lt;td&gt;0.9%&lt;/td&gt;
&lt;td&gt;Always used for text detection and most automatic image corrections&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/grayscale/&#34;&gt;Conversion to grayscale&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Discard color information from images and leave only shades of gray.&lt;/td&gt;
&lt;td&gt;0.5%&lt;/td&gt;
&lt;td&gt;Photos&lt;br /&gt;Scanned ID cards&lt;br /&gt;Full-color scans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/invert/&#34;&gt;Color inversion&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Swap image colors so that light areas appear dark and dark areas appear light.&lt;/td&gt;
&lt;td&gt;0.25%&lt;/td&gt;
&lt;td&gt;White text on black background&lt;br /&gt;Advertisements&lt;br /&gt;Business cards&lt;br /&gt;Screenshots&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/dilate/&#34;&gt;Dilation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Increase the thickness of characters in an image by adding pixels to the edges of high-contrast objects, such as letters.&lt;/td&gt;
&lt;td&gt;3.1%&lt;/td&gt;
&lt;td&gt;Receipts&lt;br /&gt;Printouts with very thin font&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/median/&#34;&gt;Median filter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Blur noisy images while preserving the edges of high-contrast objects like letters.&lt;/td&gt;
&lt;td&gt;6.25%&lt;/td&gt;
&lt;td&gt;Photos taken in low light conditions&lt;br /&gt;Poor quality printouts&lt;br /&gt;Highly compressed JPEG’s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/net/dewarp/&#34;&gt;Dewarping&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Straighten page curvature and fix camera lens distortion for page photos.&lt;br /&gt;&lt;strong&gt;This method requires significant resources and time!&lt;/strong&gt; Consider using it only if the image has geometric distortions preventing accurate recognition.&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30-40 seconds&lt;/strong&gt;;&lt;br /&gt;&lt;strong&gt;Up to 4 times more memory&lt;/strong&gt; &lt;sup&gt;(3)&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;Photos of curved pages&lt;br /&gt;Ultra wide-angle and fisheye photos&lt;br /&gt;Photos from entry-level smartphones&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Automatic noise removal uses a powerful artificial intelligence algorithm that consumes significant computing resources and RAM. Use it with care, especially when developing public websites and mobile apps.&lt;/li&gt;
&lt;li&gt;Resizing takes between 6% and 100% more time than the minimum processing pipeline, depending on the original image size.&lt;/li&gt;
&lt;li&gt;Due to the high complexity of the underlying neural network, dewarping is resource- and time-intensive. Actual numbers may vary greatly depending on the performance of the computer and the characteristics of the original image.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h2 id=&#34;chaining-preprocessing-filters&#34;&gt;Chaining preprocessing filters&lt;/h2&gt;
&lt;p&gt;Multiple preprocessing filters can be applied to the same image to further improve the recognition quality. The filters are applied one by one in the order they are added to &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/PreprocessingFilter&#34;&gt;&lt;code&gt;PreprocessingFilter&lt;/code&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;Note that each filter requires additional time and resources on the computer running the application. Do not add extra filters if you are satisfied with the recognition accuracy, especially when developing web applications.&lt;/p&gt;
&lt;div id=&#34;filters-chain&#34;&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;threshold&#34; impact=&#34;0.9&#34; /&gt;
		&lt;label for=&#34;threshold&#34;&gt;Set binarization threshold&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;deskew&#34; impact=&#34;12&#34; /&gt;
		&lt;label for=&#34;deskew&#34;&gt;Correct skew&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;rotate&#34; impact=&#34;7.5&#34; /&gt;
		&lt;label for=&#34;rotate&#34;&gt;Rotate&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;denoise&#34; impact=&#34;175&#34; /&gt;
		&lt;label for=&#34;denoise&#34;&gt;Remove noise&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;contrast&#34; impact=&#34;7.5&#34; /&gt;
		&lt;label for=&#34;contrast&#34;&gt;Adjust contrast&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;scale&#34; impact=&#34;6&#34; /&gt;
		&lt;label for=&#34;scale&#34;&gt;Scale&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;resize&#34; impact=&#34;6&#34; /&gt;
		&lt;label for=&#34;resize&#34;&gt;Resize&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;grayscale&#34; impact=&#34;0.5&#34; /&gt;
		&lt;label for=&#34;grayscale&#34;&gt;Convert to grayscale&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;invert&#34; impact=&#34;0.25&#34; /&gt;
		&lt;label for=&#34;invert&#34;&gt;Invert colors&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;dilate&#34; impact=&#34;3.1&#34; /&gt;
		&lt;label for=&#34;dilate&#34;&gt;Dilate&lt;/label&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;input type=&#34;checkbox&#34; id=&#34;median&#34; impact=&#34;6.25&#34; /&gt;
		&lt;label for=&#34;median&#34;&gt;Apply median filter&lt;/label&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;highlight&#34; id=&#34;filters-code&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;threshold-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Threshold&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;THRESHOLD&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;deskew-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;AutoSkew&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;rotate-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Rotate&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ANGLE&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;denoise-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;AutoDenoising&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;contrast-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;ContrastCorrectionFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;scale-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Scale&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;RATIO&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;resize-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Resize&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;({&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;WIDTH&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;},&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;HEIGHT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;grayscale-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;ToGrayscale&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;invert-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Invert&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;dilate-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Dilate&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34; id=&#34;median-code&#34; class=&#34;hidden&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;filters&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;Median&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Approximate increase of processing time: &lt;span id=&#34;impact-time&#34;&gt;0&lt;/span&gt;%&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;image-regions-preprocessing&#34;&gt;Image regions preprocessing&lt;/h2&gt;
&lt;p&gt;Most preprocessing filters can be applied to specific regions of an image. For example, you can invert a newspaper headline written in white on black, leaving the rest of the article unchanged.&lt;/p&gt;
&lt;p&gt;Multiple preprocessing filters can be applied to different regions of the same image. If the regions intersect each other, filters are applied to the intersection in their &lt;a href=&#34;#chaining-preprocessing-filters&#34;&gt;chaining&lt;/a&gt; order in &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/PreprocessingFilter&#34;&gt;&lt;code&gt;PreprocessingFilter&lt;/code&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;filter-region.png&#34; alt=&#34;Applying preprocessing to intersecting regions&#34;&gt;&lt;/p&gt;
&lt;p&gt;To apply a filter to an area, specify its top left corner along with width and height as &lt;a href=&#34;https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle.html&#34;&gt;&lt;code&gt;Rectangle&lt;/code&gt;&lt;/a&gt; object. If the region is omitted, the filter is applied to the entire image.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Define image regions
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Rectangle&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;blackRectangle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Rectangle&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;161&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;340&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;113&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// (1) Invert black region
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Invert&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;blackRectangle&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// (2) Denoise entire image
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AutoDenoising&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following filters can be applied to regions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/deskew/#image-regions-preprocessing&#34;&gt;Skew correction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/denoise/#image-regions-preprocessing&#34;&gt;Noise removal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/contrast/#image-regions-preprocessing&#34;&gt;Contrast correction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/binarization/#image-regions-preprocessing&#34;&gt;Binarization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/invert/#image-regions-preprocessing&#34;&gt;Color inversion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/dilate/#image-regions-preprocessing&#34;&gt;Dilation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/median/#image-regions-preprocessing&#34;&gt;Median filter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;previewing-and-saving-processed-images&#34;&gt;Previewing and saving processed images&lt;/h2&gt;
&lt;p&gt;Aspose.OCR for Java offers an easy way to access or save processed images using the methods of the static &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/imageprocessing/&#34;&gt;&lt;code&gt;ImageProcessing&lt;/code&gt;&lt;/a&gt; class:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Return value&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/imageprocessing/#Render-com.aspose.ocr.OcrInput-&#34;&gt;&lt;code&gt;Render&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applies processing filters to all images in a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;batch&lt;/a&gt; and returns a new batch with processed images. This batch can later be submitted for recognition or used for optimization.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/imageprocessing/#Save-com.aspose.ocr.OcrInput-java.lang.String-&#34;&gt;&lt;code&gt;Save&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applies processing filters to all images in &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;batch&lt;/a&gt; and saves the resulting images in the specified folder. That method also returns a new batch with processed images, that can be later submitted for the recognition.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can use these methods to analyze the effectiveness of processing filters, exclude unnecessary filters that consume resources without affecting the result, or show the result of image processing in the user interface.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

&lt;ul&gt;
&lt;li&gt;Processing filters are applied to all images in the batch, including those without text.&lt;/li&gt;
&lt;li&gt;PDF documents can contain more than one image per page. Therefore, the resulting &lt;code&gt;OcrInput&lt;/code&gt; object can contain more images than the number of pages in the document.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Set processing filters
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AutoDenoising&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PreprocessingFilter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Median&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Prepare batch
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;images&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filters&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Save processed images from the provided PDF to the folder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImageProcessing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Save&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;C:\\images&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;script&gt;
window.addEventListener(&#34;load&#34;, function(){
	$(&#34;#filters-chain input&#34;).change(applyFilter);
});

function applyFilter()
{
	let status = $(this).prop(&#34;checked&#34;);
	switch($(this).attr(&#34;id&#34;))
	{
		case &#34;threshold&#34;:
			if(status) $(&#34;#threshold-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#threshold-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;deskew&#34;:
			if(status) $(&#34;#deskew-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#deskew-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#rotate&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#rotate-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;rotate&#34;:
			if(status) $(&#34;#rotate-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#rotate-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#deskew&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#deskew-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;denoise&#34;:
			if(status) $(&#34;#denoise-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#denoise-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;contrast&#34;:
			if(status) $(&#34;#contrast-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#contrast-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;scale&#34;:
			if(status) $(&#34;#scale-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#scale-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#resize&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#resize-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;resize&#34;:
			if(status) $(&#34;#resize-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#resize-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#scale&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#scale-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		case &#34;grayscale&#34;:
			if(status) $(&#34;#grayscale-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#grayscale-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;invert&#34;:
			if(status) $(&#34;#invert-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#invert-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;dilate&#34;:
			if(status) $(&#34;#dilate-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#dilate-code&#34;).addClass(&#34;hidden&#34;);
			break;
		case &#34;median&#34;:
			if(status) $(&#34;#median-code&#34;).removeClass(&#34;hidden&#34;);
			else $(&#34;#median-code&#34;).addClass(&#34;hidden&#34;);
			if(status)
			{
				$(&#34;#grayscale&#34;).prop(&#34;checked&#34;, false);
				$(&#34;#grayscale-code&#34;).addClass(&#34;hidden&#34;);
			}
			break;
		default:
			break;
	}
	let total=0;
	$(&#34;#filters-chain input&#34;).each(function(){
		let box = $(this);
		if(box.prop(&#34;checked&#34;)) total += parseFloat(box.attr(&#34;impact&#34;));
	});
	$(&#34;#impact-time&#34;).text(total);
}
&lt;/script&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Recognition languages</title>
      <link>https://docs.aspose.com/ocr/java/languages/</link>
      <pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/languages/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

&lt;p&gt;To recognize text in certain languages, you must &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/modules/&#34;&gt;install&lt;/a&gt; additional recognition models:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cyrillic text recognition: &lt;strong&gt;aspose-ocr-cyrillic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Chinese text recognition: &lt;strong&gt;aspose-ocr-chinese-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Indic (Devanagari) text recognition: &lt;strong&gt;aspose-ocr-hindi-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Arabic text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Persian (Farsi) text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Uyghur text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Urdu text recognition: &lt;strong&gt;aspose-ocr-arabic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Japanese text recognition: &lt;strong&gt;aspose-ocr-japanese-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Korean text recognition: &lt;strong&gt;aspose-ocr-korean-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Kannada text recognition: &lt;strong&gt;aspose-ocr-kannada-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Tamil text recognition: &lt;strong&gt;aspose-ocr-tamil-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Telugu text recognition: &lt;strong&gt;aspose-ocr-telugu-v1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mixed-language Cyrillic/English recognition: &lt;strong&gt;aaspose-ocr-cyrillic-v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mongolian text recognition: &lt;strong&gt;aspose-ocr-cyrillic-v1&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;p&gt;Aspose.OCR for Java can recognize a text in a large number of languages and all popular writing scripts, including texts with mixed languages.&lt;/p&gt;
&lt;p&gt;To specify a language for recognition, provide one of the following values in &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/RecognitionSettings#setLanguage-com.Language-&#34;&gt;&lt;code&gt;setLanguage&lt;/code&gt;&lt;/a&gt; method of &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/RecognitionSettings&#34;&gt;RecognitionSettings&lt;/a&gt; class:&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Mixed-language Cyrillic/English text recognition is experimental. If you are absolutely sure about the text language (for example, Ukrainian), it is recommended to specify the language directly.
&lt;/div&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Alphabet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.MULTILANGUAGE&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.AUTO&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.UNIVERSAL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Automatically detects the language. Supports multiple language families, including Latin, Cyrillic, Arabic, Chinese and more.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.ExtLatin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-detect &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/net/supported-characters/#extended-latin&#34;&gt;all supported Latin characters&lt;/a&gt; and diacritics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Cyrillic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All supported Cyrillic characters (auto-detect)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Chinese&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All Chinese languages. Mixed-language Chinese/English texts also supported.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Devanagari&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.Indic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Indic texts based on Devanagari script, including mixed Devanagari/English texts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.European&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language Cyrillic/English texts (&lt;em&gt;experimental&lt;/em&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.PersoArabic&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Language.Islamic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language texts with Arabic, Persian and English.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Afr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Afrikaans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Aln&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Albanian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ara&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Arabic (mixed texts in Arabic and English are also supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Awa&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Awadhi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Azb&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Azerbaijani (Azeri)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bcl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bikol&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bel&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Belarusan (Belorussian)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bem&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bemba (Chibemba)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bew&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Betawi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bgc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Haryanvi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bho&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bhojpuri&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bhr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Malagasy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bjj&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kanauji&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bos&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bosnian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Bul&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bulgarian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Cat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Catalan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ccx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Zhuang&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Cdo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Min Dong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ceb&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Cebuano&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ces&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Czech&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Che&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chechen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Cmn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mandarin (Chinese)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Cpx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pu-Xian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Dan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Danish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Deu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;German&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Dhd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dhundari&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Diq&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dimli&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Doc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Eng&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Est&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Estonian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Fin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Finnish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Fra&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;French&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Gan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Gax&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Oromo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Gbm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Garhwali&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Glg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Galician&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Glk&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gilaki&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Guz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gusii&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hak&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hakka&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hau&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hausa&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hbs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Serbo-Croatian (Latin)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hil&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hiligaynon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hindi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hmn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hmong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hne&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chattisgarhi (Laria, Khaltahi)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hrv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Croatian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hsn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Xiang&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Hun&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hungarian (Magyar)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ilo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ilocano&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ind&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Indonesian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ita&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Italian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Jpn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Japanese (mixed texts in Japanese and English are also supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language Kannada/English texts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kaz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kazakh&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kbd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kabardian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kfy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kumauni&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rwanda&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kln&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Nandi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kmr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kurdish (Kurmanji)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Knc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kanuri&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Knn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Konkani&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kikongo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Kor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Korean (mixed texts in Korean and English are also supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Latin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Latin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Lav&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Latvian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Lit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lithuanian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Lmn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lamani (Lambadi)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Lnc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Occitan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Luo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Luo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mag&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Magahi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mai&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Maithili&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mak&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Makassar (Makasar)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Marathi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Meru&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Min&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Minangkabau&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mly&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Malay (Melayu)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mnp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Min Bei&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mongolian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mtq&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Muong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mtr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mewari&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mui&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Musi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Mup&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Malvi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Min Nan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nbl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ndebele&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nds&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Low German&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nep&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Nepali&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nld&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dutch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Norwegian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nso&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sotho (Northern)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Nya&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chichewa (Chewa, Nyanja)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Pag&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pangasinan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Pam&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kapampangan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Pcc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bouyei (Buyi, Giáy)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Pes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Persian (Farsi); mixed texts in Persian and English are also supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Plm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Palembang&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Pol&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Polish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Por&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Portuguese&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Quc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;K&amp;rsquo;iche&#39;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Qxa&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Quechua&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Rjb&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rajbanshi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ron&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Romanian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ruf&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Luguru&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Rus&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Russian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Rwr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Marwari&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Sas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sasak&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Slk&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Slovak&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Slv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Slovene (Slovenian)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Sna&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Shona (Karanga)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Som&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Somali&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Sot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sotho (Southern)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Spa&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spanish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Srp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Serbian (Cyrillic)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Srr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Serer-Sine&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ssw&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Swati (Swazi)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Suk&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sukuma&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Sun&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sundanese (Sunda)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Swe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Swedish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Swh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Swahili&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tam&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language Tamil/English texts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tel&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mixed-language Telugu/English texts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tgl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tagalog (Pilipino)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Toi&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tonga&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tsn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tswana&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tso&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tsonga&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tuk&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Turkmen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tum&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tumbuka&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Tur&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Turkish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Uig&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Uyghur; mixed texts in Uyghur and English are also supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Ukr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ukrainian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Umb&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Umbundu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Urd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Urdu; mixed texts in Urdu and English are also supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Vie&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Vietnamese&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Vmw&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Makua (Makhuwa)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Wal&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wolaytta&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.War&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Waray-Waray&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Wbr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wagdi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Wtm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mewati&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Wuu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wu (Changzhou)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Xho&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Xhosa&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Yao&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yao&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Yor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yoruba&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Yue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Cantonese&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Language.Zul&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Zulu&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If this parameter is omitted, the OCR engine will assume that the text is written in extended Latin.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Make sure you specify the correct language for the image. If you try to recognize Cyrillic text using &lt;code&gt;Language.Eng&lt;/code&gt;, only the characters that look the same in both languages (for example, &lt;code&gt;с&lt;/code&gt; and &lt;code&gt;c&lt;/code&gt;) will be correctly recognized. Other characters will be replaced with similar-looking alternatives.
&lt;/div&gt;

&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code sample demonstrates how to specify the recognition language:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize Ukrainian text
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setLanguage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Ukr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;RecognitionResult&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognizePage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Recognition result:\n&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognitionText&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;\n\n&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Defining recognized characters</title>
      <link>https://docs.aspose.com/ocr/java/characters/</link>
      <pubDate>Fri, 23 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/characters/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR supports a &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-languages/&#34;&gt;large list&lt;/a&gt; of extended Latin, Cyrillic, and Chinese characters. However, a typical image contains no more than half of these characters. You can greatly improve the accuracy and performance of recognition by specifying which characters the OCR engine will look for.&lt;/p&gt;
&lt;p&gt;The full workflow is as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/characters-identify/&#34;&gt;Identifying the characters on an image.&lt;/a&gt;&lt;br&gt;
Aspose.OCR provides detailed information about the characters found in the image and their possible alternatives.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/characters-whitelist/&#34;&gt;Defining the whitelist of characters.&lt;/a&gt;&lt;br&gt;
Limit the set of characters Aspose.OCR engine will look for.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/characters-blacklist/&#34;&gt;Defining the blacklist of characters.&lt;/a&gt;&lt;br&gt;
Explicitly ignore certain image defects that may be incorrectly recognized as characters.&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Language detecton</title>
      <link>https://docs.aspose.com/ocr/java/language_detection/</link>
      <pubDate>Wed, 19 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/language_detection/</guid>
      <description>
        
        
        

&lt;div class=&#34;alert alert-caution&#34; role=&#34;alert&#34;&gt;

To use language detection, &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/modules/&#34;&gt;install&lt;/a&gt; (&lt;strong&gt;aspose-ocr-language-classification-v1&lt;/strong&gt;) advanced OCR model to your project.
&lt;/div&gt;

&lt;p&gt;Aspose.OCR for Java can automatically identify the following languages and language families used on the provided image using &lt;code&gt;DetectLanguages&lt;/code&gt; method:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Latin&lt;/li&gt;
&lt;li&gt;Cyrillic&lt;/li&gt;
&lt;li&gt;Arabic&lt;/li&gt;
&lt;li&gt;Chinese&lt;/li&gt;
&lt;li&gt;Japanese&lt;/li&gt;
&lt;li&gt;Korean&lt;/li&gt;
&lt;li&gt;Hindi&lt;/li&gt;
&lt;li&gt;Tamil&lt;/li&gt;
&lt;li&gt;Telugu&lt;/li&gt;
&lt;li&gt;Kannada&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The method accepts the collection of images in any of the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/supported-file-formats/&#34;&gt;supported formats&lt;/a&gt; and returns them as a list of &lt;code&gt;LanguageDetectionOutput&lt;/code&gt; objects with the following properties:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The full path or URL of the source file. If the file is &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;provided&lt;/a&gt; as a &lt;code&gt;BufferedImage&lt;/code&gt;, &lt;code&gt;InputStream&lt;/code&gt;, an array of pixels, or a Base64 string, this value will be empty.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Page number. When working with single-page images, this value is always 0.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;languages&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;List&amp;lt;Map.Entry&amp;lt;Language, Float&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lists the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/languages/&#34;&gt;recognition languages&lt;/a&gt; detected in the image along with their probabilities.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code sample demonstrates how to detect the image languages:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;LanguageDetectionOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;DetectLanguages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;File: &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Page: &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;page&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Map&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Entry&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Float&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;l&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;languages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Language: &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;l&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getKey&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;()+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34; : &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;l&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getValue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following code sample demonstrates how to recognize the image with auto detection languages:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add an image to OcrInput object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Set language detection and it is level.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setLanguage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Auto&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setLanguageDetectionLevel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;LanguageDetectionLevel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;BY_PARAGRAPH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize with detect languages
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionResult&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionResult&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Text: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognitionText&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Layout detecton</title>
      <link>https://docs.aspose.com/ocr/java/layout_detection/</link>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/layout_detection/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java can automatically analyze &lt;a href=&#34;https://docs.aspose.com/ocr/java/ocrinput/&#34;&gt;image&lt;/a&gt; content and identify the different types of layout blocks within it.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

This functionality supports PDF, GIF, PNG, JPEG, BMP, or single-page TIFF from files, streams, and can bulk process folders and archives.
&lt;/div&gt;

&lt;p&gt;Pass one or more images as &lt;code&gt;com.aspose.ocr.OcrInput&lt;/code&gt; object to &lt;code&gt;com.aspose.ocr.DetectDocumentLayout&lt;/code&gt; method and get the layout blocks as &lt;code&gt;com.aspose.ocr.models.LayoutOutput&lt;/code&gt; object.&lt;/p&gt;
&lt;h4 id=&#34;comasposeocrmodelslayoutoutput&#34;&gt;&lt;code&gt;com.aspose.ocr.models.LayoutOutput&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This class stores a layout block detected in an image.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The full path to the file or URL, if applicable. Empty for images provided as a stream, byte array, or Base64.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Integer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Page number for multi-page images.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;paragraphs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected paragraphs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;images&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected illustrations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;headers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected headers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tables&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected tables.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lists&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected lists.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;captions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected captions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;equations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ArrayList&amp;lt;com.aspose.ocr.models.ContentArea&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detected equations.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;comasposeocrmodelscontentarea&#34;&gt;&lt;code&gt;com.aspose.ocr.models.ContentArea&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;This class stores a layout block detected in an image.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;index&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Integer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The sequential index of the content area, unique within the entire image.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;BufferedImage&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Image region with the content.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rectangle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;java.awt.Rectangle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The bounding rectangle of the content area.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code demonstrates how to find and recognize tables in an image&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add an image to OcrInput object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Detect layout
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;LayoutOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layout&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;DetectDocumentLayout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ArrayList&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ContentArea&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tables&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;tables&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize tables
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tableAreas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ContentArea&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;table&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tables&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;tableAreas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;table&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognResult&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tableAreas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Recognition settings</title>
      <link>https://docs.aspose.com/ocr/java/settings/</link>
      <pubDate>Fri, 14 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/settings/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java provides good recognition accuracy and performance by default. However, there will inevitably be cases where the default settings cannot provide reliable recognition results.&lt;/p&gt;
&lt;p&gt;To configure Aspose.OCR recognition settings, specify an optional parameter for the recognition method. The parameter type depends on the recognition method.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter type&lt;/th&gt;
&lt;th&gt;Applicable to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-common/&#34;&gt;&lt;code&gt;RecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/&#34;&gt;Extracting&lt;/a&gt; text from images, scanned PDFs, DjVu files and other content provided as &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt; object&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-receipt/&#34;&gt;&lt;code&gt;ReceiptRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/receipt/&#34;&gt;receipts&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-id-card/&#34;&gt;&lt;code&gt;IDCardRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/id-card/&#34;&gt;ID cards&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-passport/&#34;&gt;&lt;code&gt;PassportRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/passport/&#34;&gt;passports&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-car-plate/&#34;&gt;&lt;code&gt;CarPlateRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/car-plate/&#34;&gt;vehicle license plates&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-invoice/&#34;&gt;&lt;code&gt;InvoiceRecognitionSettings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Extracting text from &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/invoice/&#34;&gt;invoices&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Document areas detection</title>
      <link>https://docs.aspose.com/ocr/java/areas-detection/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/areas-detection/</guid>
      <description>
        
        
        &lt;p&gt;A scanned image or photograph of a text document may contain a large number of blocks of various content - text paragraphs, tables, illustrations, formulas, and the like. Detecting, ordering, and classifying areas of interest on a page is the cornerstone of successful and accurate OCR. This process is called &lt;em&gt;document areas detection&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;structure-analysis.png&#34; alt=&#34;Document structure analysis and recognition&#34;&gt;&lt;/p&gt;
&lt;p&gt;Aspose.OCR offers several document areas detection algorithms, allowing you to choose the one that works best for your specific content.&lt;/p&gt;
&lt;h2 id=&#34;area-detection-modes&#34;&gt;Area detection modes&lt;/h2&gt;
&lt;p&gt;You can manually override the default document areas detection method if you are unhappy with the results or get unwanted artifacts.&lt;/p&gt;
&lt;p&gt;Document structure analysis algorithm is specified using &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/RecognitionSettings#setDetectAreasMode-com.aspose.ocr.DetectAreasMode-&#34;&gt;&lt;code&gt;setDetectAreasMode&lt;/code&gt;&lt;/a&gt; method of &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/RecognitionSettings&#34;&gt;recognition settings&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Create instance of OCR API
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Enable automatic document areas detection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setDetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;UNIVERSAL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Prepare batch
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;images&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize images
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ArrayList&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionResult&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Recognition result:\n&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognitionText&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;\n\n&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Aspose.OCR for Java supports the following document structure analysis methods provided in &lt;code&gt;DetectAreasMode&lt;/code&gt; enumeration:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Use cases&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.UNIVERSAL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Finds small text blocks inside complex images.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/areas-detection/universal/&#34;&gt;&lt;strong&gt;DetectAreasMode.UNIVERSAL&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Driver’s licenses&lt;br /&gt;Social security cards&lt;br /&gt;Government and work IDs&lt;br /&gt;Visas&lt;br /&gt;Photos&lt;br /&gt;Screenshots&lt;br /&gt;Advertisements&lt;br /&gt;Street photos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.MULTICOLUMN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detects large blocks of text formatted in columns. Optimal for multi-column documents with illustrations.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/areas-detection/multicolumn/&#34;&gt;&lt;strong&gt;DetectAreasMode.MULTICOLUMN&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Contracts&lt;br /&gt;Books&lt;br /&gt;Articles&lt;br /&gt;Newspapers&lt;br /&gt;High-quality scans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.TABLE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detects cells in tabular structures.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/areas-detection/table/&#34;&gt;&lt;strong&gt;DetectAreasMode.TABLE&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Tables&lt;br /&gt;Invoices&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.CURVED_TEXT&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-straightens curved lines and finds text blocks inside the resulting image.&lt;br /&gt;See &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/areas-detection/curved_text/&#34;&gt;&lt;strong&gt;DetectAreasMode.CURVED_TEXT&lt;/strong&gt;&lt;/a&gt; for additional details.&lt;/td&gt;
&lt;td&gt;Photos of books, magazine articles, and other curved pages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DetectAreasMode.NONE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Prioritizes speed and reduces resource consumption by omitting support for complex layouts.&lt;/td&gt;
&lt;td&gt;Simple images containing a few lines of text without illustrations or formatting.&lt;br /&gt;Applications requiring maximum recognition speed&lt;br /&gt;Web applications&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Table recognition</title>
      <link>https://docs.aspose.com/ocr/java/table-recognition/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/table-recognition/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java now provides a dedicated API for detecting table layout and recognizing table data in images, scanned documents, screenshots, or photos.
To extract table text, simply call the universal &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/#Recognize-com.aspose.ocr.OcrInput-com.aspose.ocr.RecognitionSettings&#34;&gt;&lt;code&gt;com.aspose.ocr.AsposeOCR.Recognize&lt;/code&gt;&lt;/a&gt; method with &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr.models/detectareasmode/&#34;&gt;&lt;code&gt;DetectAreasMode.TABLE&lt;/code&gt;&lt;/a&gt; settings.&lt;/p&gt;
&lt;p&gt;This method accepts an &lt;code&gt;OcrInput&lt;/code&gt; object and optional recognition settings.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a list of &lt;code&gt;com.aspose.ocr.AsposeOCR.RecognitionResult&lt;/code&gt; objects. Each result contains extracted table data, detected regions, and allows exporting to various formats.
Additionally, you can retrieve the table&amp;rsquo;s row and column structure using the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/ocroutput/#getTableData&#34;&gt;&lt;code&gt;GetTableData()&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;h2 id=&#34;detectareasmodetable-and-gettabledata&#34;&gt;DetectAreasMode.TABLE and GetTableData&lt;/h2&gt;
&lt;p&gt;The following code example shows how to extract text from table and get rows and columns structure:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add images to OcrInput object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Configure recognition settings for tables
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setDetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize tables on the image
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ArrayList&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OCRTablePage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;allTables&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;GetTableData&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OCRTablePage&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tablePage&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;allTables&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Print recognized table data in rows and cols
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OCRTable&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;table&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tablePage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getTables&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;table index: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;table&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getTableIndex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OCRTableRow&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;table&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getRows&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;row index: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getRowIndex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OCRTableCell&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getCells&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;cell index: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getColumnIndex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;()+&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;: &amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;getText&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Formula recognition</title>
      <link>https://docs.aspose.com/ocr/java/formula-recognition/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/formula-recognition/</guid>
      <description>
        
        
        &lt;style&gt;
	button {
		cursor: pointer;
		margin-right: 20px;
		margin-bottom: 20px;
		padding: 7px 15px;
		border: none;
		border-radius: 5px;
		background-color: #1a89d0;
		font-weight: 700;
		font-size: 15px;
		color: #ffffff;
	}

	button:hover {
		background-color: #3071a9;
	}

	button:focus {
		outline: none;
	}

	.duo {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		margin-bottom: 20px;
	}

	.duo &gt; * {
		margin-bottom: 0 !important;
	}

	.duo &gt; pre {
		display: none;
		margin-left: 15px;
		min-width: 300px;
	}
	
&lt;/style&gt;
&lt;p&gt;Aspose.OCR for Java now provides a dedicated API for detecting and recognizing mathematical formulas in images, scanned documents, screenshots, or photos.
To extract formula text, simply call the universal &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/#RecognizeFormula-com.aspose.ocr.OcrInput-boolean&#34;&gt;&lt;code&gt;aspose.ocr.com.AsposeOCR.RecognizeFormula&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;p&gt;This method accepts an &lt;code&gt;OcrInput&lt;/code&gt; object and optional recognition settings.
Internally, formula detection uses the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr.models/detectareasmode/&#34;&gt;&lt;code&gt;DetectAreasMode.FORMULA&lt;/code&gt;&lt;/a&gt; mode to locate mathematical expressions before recognition.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a list of &lt;code&gt;aspose.ocr.com.RecognitionResult&lt;/code&gt; objects. Each result contains extracted formula text, detected regions, and allows exporting to various formats.&lt;/p&gt;
&lt;h2 id=&#34;detectareasmodeformula&#34;&gt;DetectAreasMode.FORMULA&lt;/h2&gt;
&lt;p&gt;The following code example shows how to extract text from table and get rows and columns structure:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add images to OcrInput object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Configure recognition settings for formulas
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setDetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DetectAreasMode&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;FORMULA&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize formulas on the image
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;recognizeformulaocrinput-images-bool-detectareas--true&#34;&gt;RecognizeFormula(OcrInput images, bool detectAreas = true)&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add images to OcrInput object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;source2.jpg&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize formulas with areas detection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;aspose&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ocr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;OcrOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognizeFormula&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Parameter bool detectAreas - if set to true, automatically detects and isolates formula regions before performing recognition. If false, processes the entire image as a formula.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;live-demo&#34;&gt;Live demo&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognizeFormula&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;duo&#34;&gt;
&lt;img src=&#34;formula1.png&#34; alt=&#34;Formula with text&#34; /&gt;
&lt;img src=&#34;formula1_rect.jpg&#34; alt=&#34;Formulas regions&#34; style=&#34;display: none;&#34; /&gt;
&lt;pre class=&#34;rec-result&#34;&gt;
x_{c} ( t )=\\sin\ ( 2 \\pi( 1 0 0 ) t \ )
T=1 / 4 0 0
x [ n ]
x [ n ]
x [ n ]=\\cos\ ( {\\frac{\\pi} {4}} n \ ) \\qquad-\\infty&lt; n &lt; \\infty.
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;triggerRecogn(this)&#34;&gt;Extract formulas&lt;/button&gt;&lt;/p&gt;
&lt;script&gt;
	function triggerRecogn(obj)
	{
		let images = $(&#34;.duo &gt; img&#34;);
		let skewed = images.eq(0).is(&#34;:visible&#34;);
		if(skewed)
		{
			images.eq(1).show(100);
			images.eq(0).hide(100);
			$(obj).text(&#34;Revert to original image&#34;);
			$(&#39;.rec-result&#39;).slideDown(100);
		}
		else
		{
			images.eq(0).show(100);
			images.eq(1).hide(100);
			$(obj).text(&#34;Extract formulas&#34;);
			$(&#39;.rec-result&#39;).slideUp(100);
		}
	}
&lt;/script&gt;
&lt;h2 id=&#34;live-demo-1&#34;&gt;Live demo&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionEngine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;RecognizeFormula&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;duo&#34;&gt;
&lt;img src=&#34;formula2.png&#34; alt=&#34;Formula without text&#34; /&gt;
&lt;pre class=&#34;rec-result2&#34;&gt;
x [ n ]=\\cos\ ( {\\frac{\\pi} {4}} n \ ) . \\qquad-\\infty&lt; n &lt; \\infty.
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;$(&#39;.rec-result2&#39;).slideDown(100);&#34;&gt;Extract formulas&lt;/button&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Recognition</title>
      <link>https://docs.aspose.com/ocr/java/recognition/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/recognition/</guid>
      <description>
        
        
        &lt;p&gt;Reading text from any content in Aspose.OCR for Java is as easy as calling a universal &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/#Recognize-com.aspose.ocr.OcrInput-com.aspose.ocr.RecognitionSettings-&#34;&gt;&lt;code&gt;Recognize&lt;/code&gt;&lt;/a&gt; method.&lt;/p&gt;
&lt;p&gt;This method takes &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;&lt;code&gt;OcrInput&lt;/code&gt; object&lt;/a&gt; and optional &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-common/&#34;&gt;recognition settings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Recognition results are returned as a list of &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/recognitionresult/&#34;&gt;&lt;code&gt;RecognitionResult&lt;/code&gt;&lt;/a&gt; objects, that allow you to perform advanced manipulations with recognition results: &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/spelling/&#34;&gt;automatically correct spelling&lt;/a&gt;, &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-extract/&#34;&gt;get image regions&lt;/a&gt; and &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save/&#34;&gt;save&lt;/a&gt; results in various formats.&lt;/p&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;The following code example shows how to extract text from multiple images:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add images to the recognition batch
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognition settings
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RecognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;setLanguage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Language&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Ukr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Recognize images
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ArrayList&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RecognitionResult&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Recognize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;images&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;recognitionSettings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;recognition_text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Defect detection</title>
      <link>https://docs.aspose.com/ocr/java/defect-detection/</link>
      <pubDate>Fri, 07 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/defect-detection/</guid>
      <description>
        
        
        &lt;style&gt;
	button {
		cursor: pointer;
		margin-right: 20px;
		padding: 7px 15px;
		border: none;
		border-radius: 5px;
		background-color: #1a89d0;
		font-weight: 700;
		font-size: 15px;
		color: #ffffff;
	}

	button:hover {
		background-color: #3071a9;
	}

	button:focus {
		outline: none;
	}

	#sample {
		position: relative;
	}

	#sample &gt; div {
		position: absolute;
		display: none;
		border: dashed 1px #de4444;
		background-color: rgba(222,68,68,0.2);
	}

	#area1 {
		top: 0px;
		left: 0px;
		width: 60px;
		height: 50px;
	}

	#area2 {
		top: 0px;
		left: 560px;
		width: 220px;
		height: 590px;
	}

	#area3 {
		top: 550px;
		left: 0px;
		width: 90px;
		height: 40px;
	}
&lt;/style&gt;
&lt;p&gt;Image defects can significantly impact the accuracy of OCR. They can be caused by the quality of the image acquisition process, environmental conditions, and the hardware used to capture the image. To improve recognition accuracy, it is essential to &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-processing/&#34;&gt;preprocess and enhance&lt;/a&gt; images to mitigate these defects whenever possible.&lt;/p&gt;
&lt;p&gt;Aspose.OCR for Java can automatically find potentially problematic areas of image and return the information on the type of defect and its coordinates. The following types of defects can be found:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Defect&lt;/th&gt;
&lt;th&gt;Enumeration&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;th&gt;How to mitigate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Salt-and-pepper_noise&#34;&gt;Salt-and-pepper noise&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.SALT_PEPPER_NOISE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Appears as random white and black pixels scattered across the area. Often occurs in digital photographs.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Some characters are misidentified&lt;/li&gt;&lt;li&gt;Unnecessary dots or commas appear in recognition results&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Apply &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/median/&#34;&gt;median filter&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Use &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/denoise/&#34;&gt;automatic noise removal&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low contrast between text and background&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.LOW_CONTRAST&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Highlights and shadows typically appear on curved pages.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Low recognition accuracy&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/contrast/&#34;&gt;Automatically adjust contrast&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/grayscale/&#34;&gt;Convert to grayscale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/binarization/#using-binarization-threshold&#34;&gt;Binarize with high threshold&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blur&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.BLUR&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The entire image or some of its areas are out of focus.&lt;br /&gt;&lt;strong&gt;Important:&lt;/strong&gt; This detection algorithm can only identify the entire image as blurry. Specific areas cannot be detected.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Characters are not recognized correctly&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Use &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/contrast/&#34;&gt;automatic contrast correction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/grayscale/&#34;&gt;Convert image to grayscale&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Glare&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.GLARE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Highlight areas in an image caused by uneven lighting, such as spot lights or flash.&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;Low recognition accuracy&lt;/li&gt;&lt;li&gt;Text not recognized (ignored by OCR engine)&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/contrast/&#34;&gt;Automatically adjust contrast&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/grayscale/&#34;&gt;Convert to grayscale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/binarization/#using-binarization-threshold&#34;&gt;Binarize with high threshold&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;All supported defects&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DefectType.ALL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All above-mentioned defects.&lt;/td&gt;
&lt;td&gt;See the corresponding defect for details.&lt;/td&gt;
&lt;td&gt;See the corresponding defect for details.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can highlight problem areas when previewing an image and even OCR them using alternative recognition settings to get a better result.&lt;/p&gt;
&lt;h2 id=&#34;detecting-defects&#34;&gt;Detecting defects&lt;/h2&gt;
&lt;p&gt;To find defects on images, provide the &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/ocrinput/&#34;&gt;collection of images&lt;/a&gt; and specify the type of defect to &lt;code&gt;DetectDefects()&lt;/code&gt; method.&lt;/p&gt;
&lt;p&gt;The method returns &lt;code&gt;DefectOutput&lt;/code&gt; object with the following properties:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Image path.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Page&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Page number of multi-page images.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;defectAreas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;List&amp;lt;DefectAreas&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The list of defects and areas of an image where they were found.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Initialize Aspose.OCR recognition API
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Add image to the recognition batch
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OcrInput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InputType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;SingleImage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Find shadows and highlights
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ArrayList&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DefectOutput&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defects&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;DetectDefects&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DefectType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;LOW_CONTRAST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DefectOutput&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DefectAreas&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;defectAreas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ar&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;defectType&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Rectangle&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ar&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;rectangles&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;width&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;live-demo&#34;&gt;Live demo&lt;/h2&gt;
&lt;div id=&#34;sample&#34;&gt;
	&lt;img src=&#34;demo.png&#34; alt=&#34;Low-contrast image&#34; /&gt;
	&lt;div id=&#34;area1&#34;&gt;&lt;/div&gt;
	&lt;div id=&#34;area2&#34;&gt;&lt;/div&gt;
	&lt;div id=&#34;area3&#34;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;button onclick=&#34;extract(this)&#34;&gt;Detect shadows and highlights&lt;/button&gt;&lt;/p&gt;
&lt;script&gt;
	function extract(obj)
	{
		$(&#34;#sample &gt; div&#34;).show(200);
		$(&#34;#results&#34;).show(200);
	}
&lt;/script&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Specialized recognition methods</title>
      <link>https://docs.aspose.com/ocr/java/specialized-recognition-methods/</link>
      <pubDate>Wed, 18 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/specialized-recognition-methods/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java offers fine-tuned OCR methods for extracting text from certain types of images:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/id-card/&#34;&gt;Extracting text from ID cards&lt;/a&gt;&lt;br&gt;
Automatically read text from scanned or photographed ID cards.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/passport/&#34;&gt;Extracting text from passports&lt;/a&gt;&lt;br&gt;
Digitize scans or photos of passports.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/car-plate/&#34;&gt;Extracting text from vehicle license plates&lt;/a&gt;&lt;br&gt;
Reading vehicle license plates without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/invoice/&#34;&gt;Extracting text from invoices&lt;/a&gt;&lt;br&gt;
Digitizing scanned invoices without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/receipt/&#34;&gt;Extracting text from receipts&lt;/a&gt;&lt;br&gt;
Digitizing scanned receipts without manual retyping.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition/read-text-in-wild/&#34;&gt;Extracting text from street photos&lt;/a&gt;&lt;br&gt;
Extracting text from street photos, price tags, menus, catalogs and other images with sparse text and noisy/colored backgrounds.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Performance optimization</title>
      <link>https://docs.aspose.com/ocr/java/performance-optimization/</link>
      <pubDate>Fri, 14 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/performance-optimization/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java allows for very flexible balancing of recognition speed, quality, and resource usage for each use case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/fast-recognition/&#34;&gt;Fast recognition&lt;/a&gt; for simple and clear images, such as high-quality scans. About twice as fast as regular recognition.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/multithreading/&#34;&gt;Limiting the number of threads&lt;/a&gt; used by the recognition engine.&lt;/li&gt;
&lt;li&gt;Fine-tuning &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-preprocessing/&#34;&gt;image preprocessing filters&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings/&#34;&gt;Customizing&lt;/a&gt; recognition accuracy, performance, and other settings.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Comparing text in images</title>
      <link>https://docs.aspose.com/ocr/java/image-text-compare/</link>
      <pubDate>Fri, 14 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/image-text-compare/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java can compare texts on two images, regardless of the font, text size, case, styles, and colors.&lt;/p&gt;
&lt;p&gt;To simply find out if two images contain the same text, use the &lt;code&gt;CompareImageTexts&lt;/code&gt; method of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;AsposeOcr&lt;/code&gt;&lt;/a&gt; class. To find the degree of similarity between texts in images, use the &lt;code&gt;ImageTextDiff&lt;/code&gt; method of the &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;AsposeOcr&lt;/code&gt;&lt;/a&gt; class. These methods allow you to further fine-tune recognition accuracy, performance, and other &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-common/&#34;&gt;settings&lt;/a&gt;.&lt;/p&gt;


&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

You can perform case-sensitive or case-insensitive comparison. Set the &lt;code&gt;ignoreCase&lt;/code&gt; parameter to &lt;code&gt;true&lt;/code&gt; to perform a case-insensitive comparison.
&lt;/div&gt;

&lt;p&gt;&lt;code&gt;ImageTextDiff&lt;/code&gt; returns a number representing how similar the compared images are. The return value is a floating point number from 0 to 1; the lower the number, the more different image texts are. &lt;strong&gt;0&lt;/strong&gt; means that the texts are completely different; &lt;strong&gt;1&lt;/strong&gt; means the texts are identical. Fonts and styles are ignored. The difference between image texts is calculated as the &lt;a href=&#34;https://en.wikipedia.org/wiki/Levenshtein_distance&#34;&gt;Levenshtein distance&lt;/a&gt;. Simply put, it is the minimum number of changes required to transform one string into another by inserting, deleting or replacing a single character.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// case-insensitive comparison of image texts
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;CompareImageTexts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;image2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Images contain the same text&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// percentage of similarity between texts
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;kt&#34;&gt;float&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;distance&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ImageTextDiff&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image1.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;image2.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;The image texts are &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;distance&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;% similar&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Finding text in an image</title>
      <link>https://docs.aspose.com/ocr/java/find-text/</link>
      <pubDate>Fri, 14 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/find-text/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java makes searching for text in images as easy as finding the text fragment in a string. In a single line of code, you can search for a case-sensitive or case-insensitive string, and even validate an image text against a pattern.&lt;/p&gt;
&lt;p&gt;To search for a text in an image, use &lt;code&gt;ImageHasText&lt;/code&gt; method of &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/asposeocr/&#34;&gt;&lt;code&gt;AsposeOcr&lt;/code&gt;&lt;/a&gt; class. The method either takes a text fragment or a regular expression and returns &lt;code&gt;true&lt;/code&gt; if the text is found or &lt;code&gt;false&lt;/code&gt; if not.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ImageHasText&lt;/code&gt; method allows you to optionally customize recognition accuracy, performance, and other &lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/recognition-settings-common/&#34;&gt;settings&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;ImageHasText&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;image.png&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Aspose&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;The image contains the word \&amp;#34;Aspose\&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;The image doesn&amp;#39;t contain the word \&amp;#34;Aspose\&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Java: Working with image regions</title>
      <link>https://docs.aspose.com/ocr/java/image-regions/</link>
      <pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/image-regions/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR allows you to find and read only certain areas of an image, not all text. This is very useful for batch processing uniform documents such as ID cards, visas, driver&amp;rsquo;s licenses, customs declarations, applications, and so on.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-paragraph-find/&#34;&gt;Automatic search for paragraph bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-line-find/&#34;&gt;Automatic search for line bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-word-find/&#34;&gt;Automatic search for word bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-character-find/&#34;&gt;Recognizing characters and automatically detecting their bounding boxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-regions-extract/&#34;&gt;Extracting text inside an image rectangle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/image-line-extract/&#34;&gt;Extracting lines with coordinates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Spell checker</title>
      <link>https://docs.aspose.com/ocr/java/spelling/</link>
      <pubDate>Fri, 30 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/spelling/</guid>
      <description>
        
        
        &lt;p&gt;Although Aspose.OCR for Java provides high recognition accuracy, printing defects, dirt, or non-standard fonts may cause certain characters or words to be recognized incorrectly. To further improve recognition results, you can turn on spell checker, which finds and automatically corrects spelling errors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/automatic-spelling-correction/&#34;&gt;Automatic spelling correction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/misspelled-words-list/&#34;&gt;Getting the list of misspelled words&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/dictionaries/&#34;&gt;Working with custom dictionaries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Saving recognition results</title>
      <link>https://docs.aspose.com/ocr/java/save/</link>
      <pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/save/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java can save recognition results in multiple formats so they can be shared, stored in a database, displayed, or analyzed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save-file/&#34;&gt;Saving recognition result as a file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save-searchable-pdf/&#34;&gt;Saving recognition result as a searchable PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save-text/&#34;&gt;Getting recognition results as text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save-json/&#34;&gt;Getting recognition results as JSON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aspose.com/ocr/ocr/java/save-xml/&#34;&gt;Getting recognition results as XML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Logging recognition events</title>
      <link>https://docs.aspose.com/ocr/java/logging/</link>
      <pubDate>Thu, 26 Jan 2023 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/logging/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java can show recognition progress in the console or log it to a file. The logging is activated and configured with a static &lt;a href=&#34;https://reference.aspose.com/ocr/java/com.aspose.ocr/Logging&#34;&gt;&lt;code&gt;Logging&lt;/code&gt;&lt;/a&gt; class. You can use the following properties to activate logging and specify its parameters:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Logging.console&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Set to &lt;code&gt;true&lt;/code&gt; to enable the display of recognition progress in the console.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Logging.fileSystem&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Set to &lt;code&gt;true&lt;/code&gt; to write recognition progress to a file specified in &lt;code&gt;Logging.logFilePath&lt;/code&gt; property.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Logging.logFilePath&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specify an absolute or relative path to the log file. Applicable only when the &lt;code&gt;Logging.fileSystem&lt;/code&gt; property is set to &lt;code&gt;true&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Logging.loggingLevel&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;LoggingLevel&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specify the log severity. See &lt;strong&gt;Log severity levels&lt;/strong&gt; for details.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;





&lt;nav&gt;
  &lt;div class=&#34;book-tabs nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-1&#34; checked=&#34;checked&#34; /&gt;
      &lt;label for=&#34;tabs-1-1&#34;&gt;Enable logging&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Logging&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;loggingLevel&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;LoggingLevel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;Debug&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Logging&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;fileSystem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Logging&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;console&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Logging&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;logFilePath&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;recognition.log&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-2&#34;  /&gt;
      &lt;label for=&#34;tabs-1-2&#34;&gt;Result&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-log&#34; data-lang=&#34;log&#34;&gt;Open file. Started. 11.01.2023 12:32:58
Open file. Ended. 11.01.2023 12:32:59
Read image data. Started. 11.01.2023 12:32:59
Read image data. Ended. 11.01.2023 12:32:59
Preprocess file. Started. 11.01.2023 12:32:59
Preprocess file. Ended. 11.01.2023 12:33:00
Recognition process. Started. 11.01.2023 12:33:01
Region detection. Started. 11.01.2023 12:33:01
Region detection. Ended. 11.01.2023 12:33:10
Recognize characters. Started. 11.01.2023 12:33:10
Recognize characters. Ended. 11.01.2023 12:33:11
Recognition process. Ended. 11.01.2023 12:33:11
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/nav&gt;

&lt;h2 id=&#34;log-severity-levels&#34;&gt;Log severity levels&lt;/h2&gt;
&lt;p&gt;You can configure the log severity by specifying one of the following values in &lt;code&gt;Logging.loggingLevel&lt;/code&gt; property:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Severity&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LoggingLevel.Error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Error events of considerable importance that will affect normal program execution.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LoggingLevel.Warning&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Potentially harmful situations that might still allow the application to continue running.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LoggingLevel.Debug&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Detailed trace messages useful for application developers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LoggingLevel.None&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;No logging. Works the same as turning off logging with &lt;code&gt;Logging.console&lt;/code&gt; and &lt;code&gt;Logging.fileSystem&lt;/code&gt; parameters.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Java: Debug mode - Save processing results</title>
      <link>https://docs.aspose.com/ocr/java/debug/</link>
      <pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://docs.aspose.com/ocr/java/debug/</guid>
      <description>
        
        
        &lt;p&gt;Aspose.OCR for Java provides a &lt;strong&gt;Debug Mode&lt;/strong&gt; that allows you to visually inspect how the input image is transformed during recognition.&lt;/p&gt;
&lt;p&gt;When debug mode is enabled, the library saves intermediate processing results as image files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;preprocessed image&lt;/strong&gt; after filters (e.g., binarization, noise removal, resizing).&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;image with highlighted text regions&lt;/strong&gt;, where red rectangles mark detected text lines or blocks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This feature is especially useful for troubleshooting recognition errors and fine-tuning preprocessing filters.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsposeOCR.DebugMode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enables or disables debug image saving.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsposeOCR.DebugModeSaveDirectory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sets the target folder where images will be saved. If not set, the current working directory is used.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;enabling-debug-mode&#34;&gt;Enabling debug mode&lt;/h2&gt;
&lt;p&gt;Debug mode is activated using two static properties of the &lt;code&gt;AsposeOCR&lt;/code&gt; class:&lt;/p&gt;





&lt;nav&gt;
  &lt;div class=&#34;book-tabs nav nav-tabs&#34; id=&#34;nav-tab&#34; role=&#34;tablist&#34;&gt;
      &lt;input type=&#34;radio&#34; class=&#34;toggle&#34; name=&#34;tabs-1&#34; id=&#34;tabs-1-1&#34; checked=&#34;checked&#34; /&gt;
      &lt;label for=&#34;tabs-1-1&#34;&gt;Enable debug mode&lt;/label&gt;
      &lt;div class=&#34;book-tabs-content markdown-inner&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;DebugMode&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AsposeOCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;DebugModeSaveDirectory&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;C:/output/debug&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/nav&gt;

&lt;h2 id=&#34;output-examples&#34;&gt;Output examples&lt;/h2&gt;
&lt;p&gt;When enabled, you will see image files like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preprocessed0.png – image after applying preprocessing filters&lt;/li&gt;
&lt;li&gt;DetectedTextLines0.png – the same image with red rectangles drawn around detected text areas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each image corresponds to the input from OcrInput.addImage(&amp;hellip;) or its index.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Debug images do not affect recognition accuracy.&lt;/li&gt;
&lt;li&gt;This feature works with both automatic and manual preprocessing.&lt;/li&gt;
&lt;li&gt;If a temporary license is used, debug mode still functions as expected.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
