3#ifndef PDFSDK_CORE_OBJECTS_H_INCLUDED_
4#define PDFSDK_CORE_OBJECTS_H_INCLUDED_
87inline PDObject PDObjectCreateNull() {
92#define nullPDObject (PDObjectCreateNull())
116PDF_CORE_API
void PDFSDK_CALLCONV PDObjectAcquire(
PDObject object);
117PDF_CORE_API
void PDFSDK_CALLCONV PDObjectRelease(
PDObject object);
118PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetObjectByID(PDDoc file, uint32_t
id,
PDObject* pObj);
120PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetRootObject(PDDoc file,
PDObject* pObj);
121PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetInfoObject(PDDoc file,
PDObject* pObj);
124PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetDoc(
PDObject object, PDDoc* pDoc);
127PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateBoolObject(PDDoc file,
bool indirect,
bool value,
PDObject*
object);
128PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetBool(
PDObject object,
bool* value);
131PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateIntObject(PDDoc file,
bool indirect, int64_t value,
PDObject*
object);
132PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetInt(
PDObject object, int64_t* value);
135PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateRealObject(PDDoc file,
bool indirect,
float value,
PDObject*
object);
136PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetReal(
PDObject object,
float* value);
139PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStringObjectFromUnicode(PDDoc file,
bool indirect,
const wchar_t* buffer,
size_t bufSize,
PDObject*
object);
140PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStringObject(PDDoc file,
bool indirect,
const void* buffer,
size_t numBytes,
bool hexString,
PDObject*
object);
141PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetUnicodeString(
PDObject object,
wchar_t* buffer,
size_t bufSize,
size_t* bufNeededSize);
142PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetString(
PDObject object,
void* buffer,
size_t numBytes,
size_t* neededBytes);
145PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateNameObject(PDDoc file,
bool indirect, PDAtom name,
PDObject*
object);
146PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetName(
PDObject object, PDAtom* name);
149PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateArrayObject(PDDoc file,
bool indirect,
PDObject*
object);
154PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectArrayRemove(
PDObject array,
size_t index);
155PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectArrayGetLength(
PDObject array,
size_t* index);
158PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateDictObject(PDDoc file,
bool indirect,
PDObject*
object);
161PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictFindName(
PDObject dict, PDAtom name, PDAtom* pvalue);
162PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictRemove(
PDObject dict, PDAtom name);
164PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictGetNumEntries(
PDObject array,
size_t* index);
170typedef struct PDDictEnumeratorRec_* PDDictEnumerator;
171PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictEnumeratorCreate(
PDObject dict, PDDictEnumerator* pEnum);
172PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictEnumeratorMoveNext(PDDictEnumerator enumerator,
bool* pHasEntry);
173PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictEnumeratorReset(PDDictEnumerator enumerator);
174PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictEnumeratorGetKey(PDDictEnumerator enumerator, PDAtom* pKey);
175PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictEnumeratorGetValue(PDDictEnumerator enumerator,
PDObject* pValue);
178PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStreamObject(PDDoc file,
const void* buffer,
size_t bufSize,
PDObject attributesDict,
PDObject encodeParms,
bool encodeSource,
PDObject* pObj);
182PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectIsIndirect(
PDObject object,
bool* pIndirect);
183PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetObjNumber(
PDObject object, uint32_t* pObjNum);
184PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetGenNumber(
PDObject object, uint16_t* pGenNum);
185PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetFileOffset(
PDObject object, uint64_t* pFileOffset);
int32_t PDErrCode
Definition errors.h:44
PDErrCode(PDFSDK_CALLCONV * PDObjectDictEnumProc)(PDAtom key, PDObject value, void *userData)
Definition objects.h:97
PDObjectStreamOpenMode
Specifies how an objects' stream is accessed.
Definition objects.h:102
@ kPDObjectStreamOpenRaw
Definition objects.h:103
@ kPDObjectStreamOpenFiltered
Definition objects.h:110
@ kPDObjectStreamOpenDecrypted
Definition objects.h:107
PDObjectType
Represents the type of a PDObject and may be retrieved using PDObjectGetType.
Definition objects.h:25
@ kPDObjectBoolean
Definition objects.h:29
@ kPDObjectNull
Definition objects.h:26
@ kPDObjectStream
Definition objects.h:34
@ kPDObjectArray
Definition objects.h:33
@ kPDObjectName
Definition objects.h:30
@ kPDObjectInteger
Definition objects.h:27
@ kPDObjectString
Definition objects.h:31
@ kPDObjectDict
Definition objects.h:32
@ kPDObjectReal
Definition objects.h:28