Do you own a Debenu Quick PDF Library version 7, 8, 9, 10, 11, 12, 13 or iSEDQuickPDF license? Upgrade to Debenu Quick PDF Library 14 today!
Search text and get the bound boxes |
Post Reply |
Author | |
Ingo
Moderator Group Joined: 29 Oct 05 Status: Offline Points: 3524 |
Post Options
Thanks(0)
Posted: 27 Mar 16 at 1:41PM |
from our user Pinozzy:
Thanks for sharing!
I'm using the Viewer SDK (with c#) for search some text in a document. I need to localize that text and get the co-ordinates of the single results. My approach is now this: SearchPDFText("my string"); what I obtain is the number of the occurrences. Now I need the bound rectangles of theese occurrences. How can I do that? . . . This is how I solved my problem. This method returns results from a search by Regex. Bye! ---- public struct FindResult { public string Text { get; set; } public RectangleF Rectangle { get; set; } public int Page { get; set; } } public override List<FindResult> SearchPattern(int pageIndex, string pattern) { var retVal = new List<FindResult>(); var dpl = Document.DPL; dpl.SetTextExtractionWordGap(1); dpl.SetTextExtractionOptions(3, 0); var regex = new Regex(pattern); for (var i = 0; i < Pages; i++) { if(pageIndex > 0 && (pageIndex - 1) != i) continue; var id = dpl.ExtractPageTextBlocks(4); dpl.SelectPage(i); for (var f = 1; f <= dpl.GetTextBlockCount(id); f++) { var text = dpl.GetTextBlockText(id, f); var match = regex.Match(text); if (!match.Success) continue; var res = new FindResult { Rectangle = new RectangleF( (float)dpl.GetTextBlockBound(id, f, 7), (float)dpl.GetTextBlockBound(id, f, 8), (float)dpl.GetTextBlockBound(id, f, 5) - (float)dpl.GetTextBlockBound(id, f, 7), (float)dpl.GetTextBlockBound(id, f, 6) - (float)dpl.GetTextBlockBound(id, f, 4) ), Page = i+1, Text = text }; retVal.Add(res); } dpl.ReleaseTextBlocks(id); } return retVal; } Edited by Ingo - 27 Mar 16 at 1:44PM |
|
Cheers,
Ingo |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
Copyright © 2017 Debenu. Debenu Quick PDF Library is a PDF SDK. All rights reserved. About — Contact — Blog — Support — Online Store