Mode to use when selecting text.
public enum DocumentViewerSelectTextMode
0 |
Line |
(0) Select the whole line if any of its characters intersect with the rectangle. |
1 |
Word |
(1) Select the whole word if any of its characters intersect with the rectangle. |
2 |
Character |
(2) Select only characters the intersect with the rectangle. |
Used with the SelectText method to control what part of the text gets selected.
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);
}