public static TextGeometryModel TransformModelGeometry(TextGeometryModel sourceModel, TextGeometryModel targetModel, Func <BoundingBox, BoundingBox> boxConverter) { foreach (var textBlock in sourceModel.TextBlocks().Select(textBlock => TransformTextBlock(textBlock, boxConverter))) { targetModel.AddTextBlock(textBlock); } foreach (var table in sourceModel.Tables().Select(table => TransformTable(table, boxConverter))) { targetModel.AddTable(table); } return(targetModel); }
public static TextGeometryModel RemoveEmptyElements(this TextGeometryModel model) { var result = new TextGeometryModel(model.PageBox, model.GridUnit); foreach (var textBlock in model.TextBlocks()) { var textBlockNew = textBlock.RemoveEmptyElements(); if (textBlockNew.Paragraphs().Any() || textBlockNew.StandaloneWords().Any()) { result.AddTextBlock(textBlockNew); } } foreach (var table in model.Tables().Select(RemoveEmptyElementsInTable)) { result.AddTable(table); } return(result); }