//http://stackoverflow.com/questions/248768/how-do-i-walk-through-tree-of-pdf-objects-in-pdfsharp #region CObject Visitor private static void ExtractText(CObject obj, StringBuilder target) { if (obj is CArray) ExtractText((CArray)obj, target); else if (obj is CComment) ExtractText((CComment)obj, target); else if (obj is CInteger) ExtractText((CInteger)obj, target); else if (obj is CName) ExtractText((CName)obj, target); else if (obj is CNumber) ExtractText((CNumber)obj, target); else if (obj is COperator) ExtractText((COperator)obj, target); else if (obj is CReal) ExtractText((CReal)obj, target); else if (obj is CSequence) ExtractText((CSequence)obj, target); else if (obj is CString) ExtractText((CString)obj, target); else throw new NotImplementedException(obj.GetType().AssemblyQualifiedName); }
private static void Write(CObject obj) { if (obj is CArray) Write((CArray)obj); else if (obj is CComment) Write((CComment)obj); else if (obj is CInteger) Write((CInteger)obj); else if (obj is CName) Write((CName)obj); else if (obj is CNumber) Write((CNumber)obj); else if (obj is COperator) Write((COperator)obj); else if (obj is CReal) Write((CReal)obj); else if (obj is CSequence) Write((CSequence)obj); else if (obj is CString) Write((CString)obj); else throw new NotImplementedException(obj.GetType().AssemblyQualifiedName); }