/// <exception cref="NBoilerpipePortable.BoilerpipeProcessingException"></exception> public bool Process(TextDocument doc) { bool changes = false; IList<TextBlock> blocks = doc.GetTextBlocks(); IList<TextBlock> blocksNew = new List<TextBlock>(); foreach (TextBlock tb in blocks) { string text = tb.GetText(); string[] paragraphs = text.Split('[', '\n', '\r', ']', '+'); if (paragraphs.Length < 2) { blocksNew.Add(tb); continue; } bool isContent = tb.IsContent(); ICollection<string> labels = tb.GetLabels(); foreach (string p in paragraphs) { TextBlock tbP = new TextBlock(p); tbP.SetIsContent(isContent); tbP.AddLabels(labels); blocksNew.Add(tbP); changes = true; } } if (changes) { blocks.Clear(); foreach (var block in blocksNew) blocks.Add(block); } return changes; }
protected void AddTextBlock (TextBlock tb) { foreach (int l in fontSizeStack) { tb.AddLabels ("font-" + l); break; } foreach (List<LabelAction> labels in labelStacks) { if (labels != null) { foreach (LabelAction label in labels) { label.AddTo (tb); } } } textBlocks.Add (tb); }