private void groupChunksbyLine() { MyTextExtractionStrategy.ExtendedTextChunk textChunk1 = null; MyTextExtractionStrategy.LineInfo textInfo = null; foreach (MyTextExtractionStrategy.ExtendedTextChunk textChunk2 in this.m_DocChunks) { if (textChunk1 == null) { textInfo = new MyTextExtractionStrategy.LineInfo(textChunk2); this.m_LinesTextInfo.Add(textInfo); } else if (textChunk2.sameLine(textChunk1)) { textInfo.appendText(textChunk2); } else { textInfo = new MyTextExtractionStrategy.LineInfo(textChunk2); this.m_LinesTextInfo.Add(textInfo); } textChunk1 = textChunk2; } }
public LineInfo(MyTextExtractionStrategy.ExtendedTextChunk initialTextChunk) { this.m_Text = initialTextChunk.m_text; this.m_LineCharsList = initialTextChunk.m_ChunkChars; }
public void appendText(MyTextExtractionStrategy.ExtendedTextChunk additionalTextChunk) { m_LineCharsList.AddRange(additionalTextChunk.m_ChunkChars); this.m_Text += additionalTextChunk.m_text; }
public bool sameLine(MyTextExtractionStrategy.ExtendedTextChunk textChunkToCompare) { return(this.m_orientationMagnitude == textChunkToCompare.m_orientationMagnitude && this.m_distPerpendicular == textChunkToCompare.m_distPerpendicular); }