public void HPDF_Dict_Add(string key, HPDF_Object obj) { LibLogger.Debug(this.GetType(), $"HPDF_Dict_Add key {key} obj.Header.ObjId {obj.Header.ObjId}"); HPDF_Obj_Header header = obj.Header; HPDF_DictElement element; if ((header.ObjId & HPDF_Obj_Header.HPDF_OTYPE_DIRECT) != 0) { Error = new HPDF_Error("HPDF_Dict_Add line - invalid object", HPDF_Error.HPDF_INVALID_OBJECT, 0); } if (key == null) { Error = new HPDF_Error("HPDF_Dict_Add line - invalid object", HPDF_Error.HPDF_INVALID_OBJECT, 0); } if (List.Count >= HPDF_Consts.HPDF_LIMIT_MAX_DICT_ELEMENT) { LibLogger.Debug(this.GetType(), " HPDF_Dict_Add exceed limitatin of dict count(" + HPDF_Consts.HPDF_LIMIT_MAX_DICT_ELEMENT.ToString() + ")"); Error = new HPDF_Error("HPDF_Dict_Add line - invalid object", HPDF_Error.HPDF_DICT_COUNT_ERR, 0); } /* check whether there is an object which has same name */ element = GetElement(key); if (element != null) { element.Value = null; } else { element = new HPDF_DictElement { Key = key, Value = null }; List.Add(element); } if ((header.ObjId & HPDF_Obj_Header.HPDF_OTYPE_INDIRECT) != 0) { var proxy = new HPDF_Proxy(obj); element.Value = proxy; proxy.Header.ObjId |= HPDF_Obj_Header.HPDF_OTYPE_DIRECT; } else { element.Value = obj; header.ObjId |= HPDF_Obj_Header.HPDF_OTYPE_DIRECT; } }
public HPDF_Dict() { LibLogger.Debug(this.GetType(), "ctor"); Header = new HPDF_Obj_Header { ObjClass = HPDF_Obj_Header.HPDF_OCLASS_DICT }; List = new List <HPDF_DictElement>(); Filter = HPDF_Stream.HPDF_STREAM_FILTER_NONE; Error = new HPDF_Error(); }
public void HPDF_Obj_WriteValue(HPDF_Object obj, HPDF_Encrypt e) { LibLogger.Debug(this.GetType(), "HPDF_Obj_WriteValue"); HPDF_Obj_Header header = obj.Header; var clas = header.ObjClass & HPDF_Obj_Header.HPDF_OCLASS_ANY; switch (clas) { case HPDF_Obj_Header.HPDF_OCLASS_NAME: HPDF_Name_Write(obj as HPDF_Name); break; case HPDF_Obj_Header.HPDF_OCLASS_NUMBER: HPDF_Number_Write(obj as HPDF_Number); break; case HPDF_Obj_Header.HPDF_OCLASS_REAL: HPDF_Real_Write(obj as HPDF_Real); break; case HPDF_Obj_Header.HPDF_OCLASS_STRING: HPDF_String_Write(obj as HPDF_String, e); break; case HPDF_Obj_Header.HPDF_OCLASS_BINARY: HPDF_Binary_Write(obj as HPDF_Binary, e); break; case HPDF_Obj_Header.HPDF_OCLASS_ARRAY: HPDF_Array_Write(obj as HPDF_Array, e); break; case HPDF_Obj_Header.HPDF_OCLASS_DICT: HPDF_Dict_Write(obj as HPDF_Dict, e); break; case HPDF_Obj_Header.HPDF_OCLASS_BOOLEAN: HPDF_Boolean_Write(obj as HPDF_Boolean); break; case HPDF_Obj_Header.HPDF_OCLASS_NULL: HPDF_Stream_WriteStr("null"); break; default: Error = new HPDF_Error("HPDF_Obj_WriteValue", HPDF_Error.HPDF_ERR_UNKNOWN_CLASS, 0); break; } }
public HPDF_Object() { Header = new HPDF_Obj_Header(); }