示例#1
0
 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);
        }