usmanazizgroupdocs
6/16/2016 - 8:07 AM

GetTextCoordinatesInImage.cs

// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET
/// <summary>
/// Gets text coordinates in image representation of document
/// </summary>
/// <param name="filePath">Source file path</param> 
public static void GetTextCoordinates(string filePath)
{
    try
    {
        // Set configuration
        AnnotationConfig cfg = GetConfiguration();

        // Initialize annotator 
        AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
        try
        {
            annotator.CreateDocument(filePath);
        }
        catch { }

        var documentInfoContainer = annotator.GetDocumentInfo(filePath);

        // Go through all pages
        foreach (PageData pageData in documentInfoContainer.Pages)
        {
            Console.WriteLine("Page number: " + pageData.Number);

            //Go through all page rows
            for (int i = 0; i < pageData.Rows.Count; i++)
            {
                RowData rowData = pageData.Rows[i];

                // Write data to console
                Console.WriteLine("Row: " + (i + 1));
                Console.WriteLine("Text: " + rowData.Text);
                Console.WriteLine("Text width: " + rowData.LineWidth);
                Console.WriteLine("Text height: " + rowData.LineHeight);
                Console.WriteLine("Distance from left: " + rowData.LineLeft);
                Console.WriteLine("Distance from top: " + rowData.LineTop);

                // Get words
                string[] words = rowData.Text.Split(' ');

                // Go through all word coordinates
                for (int j = 0; j < words.Length; j++)
                {
                    int coordinateIndex = j == 0 ? 0 : j + 1;
                    // Write data to console
                    Console.WriteLine(string.Empty);
                    Console.WriteLine("Word:'" + words[j] + "'");
                    Console.WriteLine("Word distance from left: " + rowData.TextCoordinates[coordinateIndex]);
                    Console.WriteLine("Word width: " + rowData.TextCoordinates[coordinateIndex + 1]);
                    Console.WriteLine(string.Empty);
                }
                Console.ReadKey();
            }
        }
    }
    catch (System.Exception exp)
    {
        Console.WriteLine(exp.Message);
    }

}