Text of a page or the whole document as a simple string object.
public string ExportText(
int pageNumber
)
pageNumber
Page number to use. If this value is 0, then the text of all pages in the document will be used.
The text of the page or the document as a simple string object.
If the text of the specified page(s) was not previously obtained, then the value of AutoGetText will be used to determine whether DocumentPage.GetText is called automatically. Therefore, this method might experience a delay while the text is parsed from the document in this mode.
using Leadtools;
using Leadtools.Controls;
using Leadtools.Document;
using Leadtools.Document.Viewer;
using Leadtools.Codecs;
using Leadtools.Caching;
using Leadtools.Annotations.Engine;
using Leadtools.Ocr;
var text = _documentViewer.Text;
// First check if we have text for this page
var pageNumber = _documentViewer.CurrentPageNumber;
if (!text.HasDocumentPageText(pageNumber))
{
// Get the text
text.GetDocumentPageText(pageNumber);
// Show it
var value = text.ExportText(pageNumber);
Console.WriteLine(value);
}
// Get the current document
var document = _documentViewer.Document;
// Get the page and the current view item
var page = document.Pages[pageNumber - 1];
// Create a rectangle that is the first half of the page
var bounds = LeadRectD.Create(0, 0, page.Size.Width, page.Size.Height / 2);
// SelectText requires the rectangle to be in control pixel coordinates, so convert. First to pixels ...
bounds = document.RectToPixels(bounds).ToLeadRectD();
// And then using the image viewer in the view to control. The item is the one at page number - 1
var imageViewer = _documentViewer.View.ImageViewer;
bounds = imageViewer.ConvertRect(imageViewer.Items[pageNumber - 1], ImageViewerCoordinateType.Image, ImageViewerCoordinateType.Control, bounds);
// Select it, all lines
text.SelectText(bounds.ToLeadRect(), DocumentViewerSelectTextMode.Line);
// Now, check if we have any text selected
if (text.HasSelectedText(pageNumber))
{
// yes, show it
var value = text.GetSelectedText(pageNumber);
Console.WriteLine(value);
}