PDF SDK Documentation

Comprehensive Guide for Developers: Features, Integration, and API Reference

Loading...
Searching...
No Matches
objects.h File Reference

Objects API. More...

Go to the source code of this file.

Classes

struct  PDObject
 
struct  PDWriteStreamProcs
 

Macros

#define nullPDObject   (PDObjectCreateNull())
 

Typedefs

typedef struct PDObject PDObject
 
typedef PDErrCode(PDFSDK_CALLCONV * PDObjectDictEnumProc) (PDAtom key, PDObject value, void *userData)
 
typedef struct PDReadStreamRec_ * PDReadStream
 
typedef struct PDWriteStreamRec_ * PDWriteStream
 
typedef PDErrCode(PDFSDK_CALLCONV * PDWriteStreamWriteProc) (void *streamData, const void *buffer, size_t nbytes, size_t *pWritten)
 
typedef PDErrCode(PDFSDK_CALLCONV * PDWriteStreamCloseProc) (void *streamData)
 
typedef void(PDFSDK_CALLCONV * PDWriteStreamFreeDataProc) (void *streamData)
 

Enumerations

enum  PDObjectType {
  kPDObjectNull , kPDObjectInteger , kPDObjectReal , kPDObjectBoolean ,
  kPDObjectName , kPDObjectString , kPDObjectDict , kPDObjectArray ,
  kPDObjectStream
}
 Represents the type of a PDObject and may be retrieved using PDObjectGetType. More...
 
enum  PDObjectStreamOpenMode { kPDObjectStreamOpenRaw , kPDObjectStreamOpenDecrypted , kPDObjectStreamOpenFiltered }
 Specifies how an objects' stream is accessed. More...
 

Functions

PDObject PDObjectCreateNull ()
 
PDF_CORE_API void PDFSDK_CALLCONV PDObjectAcquire (PDObject object)
 
PDF_CORE_API void PDFSDK_CALLCONV PDObjectRelease (PDObject object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetObjectByID (PDDoc file, uint32_t id, PDObject *pObj)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectCopy (PDDoc file, PDObject srcobject, PDObject *pObj)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetRootObject (PDDoc file, PDObject *pObj)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetInfoObject (PDDoc file, PDObject *pObj)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetType (PDObject object, PDObjectType *type)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDeepEqual (PDObject objA, PDObject objB, bool *pEqual)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateBoolObject (PDDoc file, bool indirect, bool value, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetBool (PDObject object, bool *value)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateIntObject (PDDoc file, bool indirect, int64_t value, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetInt (PDObject object, int64_t *value)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateRealObject (PDDoc file, bool indirect, float value, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetReal (PDObject object, float *value)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateStringObjectFromUnicode (PDDoc file, bool indirect, const wchar_t *buffer, size_t bufSize, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateStringObject (PDDoc file, bool indirect, const void *buffer, size_t numBytes, bool hexString, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetUnicodeString (PDObject object, wchar_t *buffer, size_t bufSize, size_t *bufNeededSize)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetString (PDObject object, void *buffer, size_t numBytes, size_t *neededBytes)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateNameObject (PDDoc file, bool indirect, PDAtom name, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetName (PDObject object, PDAtom *name)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateArrayObject (PDDoc file, bool indirect, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectArrayAdd (PDObject array, PDObject objectToAdd)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectArrayGet (PDObject array, size_t index, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectArrayRemove (PDObject array, size_t index)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectArrayGetLength (PDObject array, size_t *index)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateDictObject (PDDoc file, bool indirect, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictPut (PDObject dict, PDAtom name, PDObject object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictPutName (PDObject dict, PDAtom name, PDAtom value)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictFind (PDObject dict, PDAtom name, PDObject *object)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictFindName (PDObject dict, PDAtom name, PDAtom *pvalue)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictRemove (PDObject dict, PDAtom name)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectDictEnum (PDObject dict, PDObjectDictEnumProc enumProc, void *userData)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateStreamObject (PDDoc file, const void *buffer, size_t bufSize, PDObject attributesDict, PDObject encodeParms, bool encodeSource, PDObject *pObj)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectStreamGetDict (PDObject objectStream, PDObject *pDict)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectStreamOpen (PDObject object, PDObjectStreamOpenMode openMode, PDReadStream *pStm)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDReadStreamRead (PDReadStream readStream, void *buffer, size_t numBytes, size_t *numBytesRead)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDReadStreamClose (PDReadStream stream)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateWriteStreamFromProcs (const PDWriteStreamProcs *procs, void *streamData, PDWriteStream *pStream)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWriteStreamWrite (PDWriteStream readStream, const void *buffer, size_t numBytes, size_t *numBytesWritten)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWriteStreamClose (PDWriteStream stream)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectIsIndirect (PDObject object, bool *pIndirect)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetObjNumber (PDObject object, uint32_t *pObjNum)
 
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDObjectGetGenNumber (PDObject object, uint16_t *pGenNum)
 

Detailed Description

Objects API.

Typedef Documentation

◆ PDObjectDictEnumProc

typedef PDErrCode(PDFSDK_CALLCONV * PDObjectDictEnumProc) (PDAtom key, PDObject value, void *userData)

Used with a PDObjectDictEnum to enumerate dictionary entries.

Enumeration Type Documentation

◆ PDObjectStreamOpenMode

Specifies how an objects' stream is accessed.

Enumerator
kPDObjectStreamOpenRaw 

Accesses the stream in its raw form, without any decompression or decryption. Useful for debugging or analyzing the raw data as it exists in the file.

kPDObjectStreamOpenDecrypted 

Processes the stream to remove any encryption, making the data readable but not necessarily decompressed.

kPDObjectStreamOpenFiltered 

Fully processes the stream, applying both decompression and any other defined filters (e.g., FlateDecode, JPEGDecode) to make the data usable and accessible in its final form.

◆ PDObjectType

Represents the type of a PDObject and may be retrieved using PDObjectGetType.

For more information refer to section 7.3 Objects, from the from the ISO 32000-2:2020 (PDF 2.0) Standard.

Enumerator
kPDObjectNull 

The null object. See 7.3.9

kPDObjectInteger 

An integer object. See 7.3.3

kPDObjectReal 

A real object. See 7.3.3

kPDObjectBoolean 

A boolean object. See 7.3.2

kPDObjectName 

A name object. See 7.3.5

kPDObjectString 

A string object. See 7.3.4

kPDObjectDict 

A dictionary object. See 7.3.7

kPDObjectArray 

An array object. See 7.3.6

kPDObjectStream 

A stream object 7.3.8