3#ifndef PDFSDK_CORE_OBJECTS_H_INCLUDED_
4#define PDFSDK_CORE_OBJECTS_H_INCLUDED_
84inline PDObject PDObjectCreateNull() {
89#define nullPDObject (PDObjectCreateNull())
96typedef struct PDReadStreamRec_* PDReadStream;
97typedef struct PDWriteStreamRec_* PDWriteStream;
99typedef PDErrCode(PDFSDK_CALLCONV* PDWriteStreamWriteProc)(
void* streamData,
const void* buffer,
size_t nbytes,
size_t* pWritten);
100typedef PDErrCode(PDFSDK_CALLCONV* PDWriteStreamCloseProc)(
void* streamData);
101typedef void(PDFSDK_CALLCONV* PDWriteStreamFreeDataProc)(
void* streamData);
104 PDWriteStreamWriteProc write;
105 PDWriteStreamCloseProc close;
106 PDWriteStreamFreeDataProc free;
110 kPDObjectStreamOpenRaw,
111 kPDObjectStreamOpenDecrypted,
112 kPDObjectStreamOpenFiltered,
113} PDObjectStreamOpenMode;
115PDF_CORE_API
void PDFSDK_CALLCONV PDObjectAcquire(
PDObject object);
116PDF_CORE_API
void PDFSDK_CALLCONV PDObjectRelease(
PDObject object);
117PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetObjectByID(PDDoc file, uint32_t
id,
PDObject* pObj);
119PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetRootObject(PDDoc file,
PDObject* pObj);
120PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocGetInfoObject(PDDoc file,
PDObject* pObj);
125PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateBoolObject(PDDoc file,
bool indirect,
bool value,
PDObject*
object);
126PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetBool(
PDObject object,
bool* value);
129PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateIntObject(PDDoc file,
bool indirect, int64_t value,
PDObject*
object);
130PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetInt(
PDObject object, int64_t* value);
133PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateRealObject(PDDoc file,
bool indirect,
float value,
PDObject*
object);
134PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetReal(
PDObject object,
float* value);
137PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStringObjectFromUnicode(PDDoc file,
bool indirect,
const wchar_t* buffer,
size_t bufSize,
PDObject*
object);
138PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStringObject(PDDoc file,
bool indirect,
const void* buffer,
size_t numBytes,
bool hexString,
PDObject*
object);
139PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetUnicodeString(
PDObject object,
wchar_t* buffer,
size_t bufSize,
size_t* bufNeededSize);
140PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetString(
PDObject object,
void* buffer,
size_t numBytes,
size_t* neededBytes);
143PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateNameObject(PDDoc file,
bool indirect, PDAtom name,
PDObject*
object);
144PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetName(
PDObject object, PDAtom* name);
147PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateArrayObject(PDDoc file,
bool indirect,
PDObject*
object);
150PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectArrayRemove(
PDObject array,
size_t index);
151PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectArrayGetLength(
PDObject array,
size_t* index);
154PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateDictObject(PDDoc file,
bool indirect,
PDObject*
object);
156PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictPutName(
PDObject dict, PDAtom name, PDAtom value);
158PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictFindName(
PDObject dict, PDAtom name, PDAtom* pvalue);
159PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectDictRemove(
PDObject dict, PDAtom name);
163PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocCreateStreamObject(PDDoc file,
const void* buffer,
size_t bufSize,
PDObject attributesDict,
PDObject encodeParms,
bool encodeSource,
PDObject* pObj);
165PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectStreamOpen(
PDObject object, PDObjectStreamOpenMode openMode, PDReadStream* pStm);
167PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDReadStreamRead(PDReadStream readStream,
void* buffer,
size_t numBytes,
size_t* numBytesRead);
168PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDReadStreamClose(PDReadStream stream);
170PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDCreateWriteStreamFromProcs(
const PDWriteStreamProcs* procs,
void* streamData, PDWriteStream* pStream);
171PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDWriteStreamWrite(PDWriteStream readStream,
const void* buffer,
size_t numBytes,
size_t* numBytesWritten);
172PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDWriteStreamClose(PDWriteStream stream);
174PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectIsIndirect(
PDObject object,
bool* pIndirect);
175PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetObjNumber(
PDObject object, uint32_t* pObjNum);
176PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDObjectGetGenNumber(
PDObject object, uint16_t* pGenNum);
int32_t PDErrCode
Definition errors.h:44
PDErrCode(PDFSDK_CALLCONV * PDObjectDictEnumProc)(PDAtom key, PDObject value, void *userData)
Definition objects.h:94
PDObjectType
Definition objects.h:22