Introduction
PDF Core Library is one layer of the PDF-XChange Editor SDK and PDF-XChange Core API SDK. Interfaces of this layer provide access to high level objects of a PDF file, such as document, pages, annotations, form fields, etc.
The creation of new documents as well as modification to existing documents is supported. Further a means to render PDF pages to devices or to image to display content to a users screen is available.
PDF-XChange Core API SDK
If the PDF-XChange Core API SDK is used, it must be initialized calling IPXC_Inst::Init method and should be finalized by calling the IPXC_Inst::Finalize method.
This method will have no effect within the PDF-XChange Editor SDK.
The PDF-XChange Core API SDK consists of one DLL and can be used without registration as a COM server. To use the PDF-XChange Core API SDK a developer must create an instance of the IPXC_Inst object. There are several ways to do this.
- If the PDF-XChange Core API SDK is used as a registered COM server, an IPXC_Inst object should be created using CoCreateInstance call:
1 | HRESULT fGetInst (CComPtr<IPXC_Inst>& inst) |
4 | HRESULT hr = CoCreateInstance ( __uuidof (PXC_Inst), nullptr, CLSCTX_INPROC_SERVER, __uuidof (IPXC_Inst), ( void **)&inst); |
- If using the PDF-XChange Core API SDK without registration as a COM server, the function PXC_GetInstance, exported by the SDK's DLL should be called to get the IPXC_Inst object:
01 | typedef HRESULT (WINAPI *fnPXC_GetInstance)(IPXC_Inst** ppInst); |
03 | HRESULT fGetInst (CComPtr<IPXC_Inst>& inst) |
06 | HMODULE hSDKInst = LoadLibrary ( _T ( "PDFXCoreAPI.x64.dll" )); |
07 | if (hSDKInst == nullptr) |
09 | fnPXC_GetInstance pfn = (fnPXC_GetInstance) GetProcAddress (hSDKInst, "PXC_GetInstance" ); |
12 | HRESULT hr = pfn (&inst); |
When IPXC_Inst is received, its method Init must be called to initialize the SDK and pass optionally a valid serial key. Use without first making this call with a valid serial key will result in the SDK functioning in 'Evaluation' mode.
PDF-XChange Editor SDK
In the PDF-XChange Editor SDK the IPXC_Inst is initialized by the SDK itself and the methods Init and Finalize should not be used. IPXC_Inst object can be retrieved from the PDF-XChange Editor SDK's main object in the following way:
01 | HRESULT fGetInst (IPXV_Inst* pVInst, CComPtr<IPXC_Inst>& inst) |
04 | if (pVInst == nullptr) |
06 | CComPtr<IUnknown> pExt; |
07 | HRESULT hr = pVInst-> GetExtension (L "PXC" , &pExt); |
10 | hr = pExt-> QueryInterface< ;IPXC_Inst>(&inst); |
References