op.document.exportToImages
From PDF XChange PDF SDK
(→Sample) |
|||
Line 63: | Line 63: | ||
<pre class="brush:cpp">//C++ | <pre class="brush:cpp">//C++ | ||
− | HRESULT ExportToImages(PXV::IPXV_Document | + | HRESULT ExportToImages(PXV::IPXV_Document* pVDoc, PXV::IPXV_Inst* pInst) |
{ | { | ||
− | if (( | + | if ((pVDoc == nullptr) || (pInst == nullptr)) |
return E_FAIL; | return E_FAIL; | ||
HRESULT hr = S_OK; | HRESULT hr = S_OK; |
Revision as of 05:48, 22 February 2016
Overview
The operation allows to export document pages to the image files with given DPI, zoom factor and specified format.
Parameters
Name | Type | Description |
---|---|---|
Input | Array | Array of IUnknown -based objects.
|
Output | Array | Array of IUnknown -based objects.
|
Options | Dictionary | Dictionary with options of the operation. |
Sample
//C# private void ExportToImages(PDFXEdit.IPXV_Document Doc, PDFXEdit.PXV_Inst Inst) { int nID = Inst.Str2ID("op.document.exportToImages", false); PDFXEdit.IOperation Op = Inst.CreateOp(nID); PDFXEdit.ICabNode input = Op.Params.Root["Input"]; input.Add().v = Doc; PDFXEdit.ICabNode options = Op.Params.Root["Options"]; options["PagesRange.Type"].v = "Exact"; options["PagesRange.Text"].v = "1-3"; options["DestFolder"].v = "D:\\TestFolder\\"; //Output folder options["ExportMode"].v = "AllToMutliPage"; options["Zoom"].v = 150; //Saving as tiff PDFXEdit.ICabNode fmtParams = options["FormatParams"]; //Compression type fmtParams["COMP"].v = 5; //LZW compression //X DPI fmtParams["DPIX"].v = 150; //Y DPI fmtParams["DPIY"].v = 150; //Image format fmtParams["FMT"].v = 1414088262; //TIFF //Image type fmtParams["ITYP"].v = 16; //24 TrueColor //Use Predictor fmtParams["PRED"].v = 1; //Yes //Thumbnail fmtParams["ITYP"].v = 0; //No Op.Do(); }
//C++ HRESULT ExportToImages(PXV::IPXV_Document* pVDoc, PXV::IPXV_Inst* pInst) { if ((pVDoc == nullptr) || (pInst == nullptr)) return E_FAIL; HRESULT hr = S_OK; //Export to images do { LONG opID = -1; pInst->Str2ID(L"op.document.exportToImages", false, &opID); if (opID < 0) break; CComPtr<PXV::IOperation> pOp; hr = pInst->CreateOp(opID, &pOp); if (FAILED(hr)) break; //Getting parameters CComPtr<PXV::ICab> pParams; hr = pOp->get_Params(&pParams); if (FAILED(hr)) break; CComPtr<PXV::ICabNode> pRoot; hr = pParams->get_Root(&pRoot); if (FAILED(hr)) break; //Setting input document CComPtr<PXV::ICabNode> pInput; hr = pRoot->get_SubNode(CComVariant("Input"), PXV::dt_Array, &pInput); if (FAILED(hr)) break; CComPtr<PXV::ICabNode> pDocNode; hr = pInput->Add(PXV::dt_IUnknown, &pDocNode); if (FAILED(hr)) break; hr = pDocNode->put_Unknown(pVDoc); if (FAILED(hr)) break; //Setting options CComPtr<PXV::ICabNode> pOptions; hr = pRoot->get_SubNode(CComVariant("Options"), PXV::dt_Undefined, &pOptions); if (FAILED(hr)) break; pOptions->SetString(L"PagesRange.Type", L"Exact"); pOptions->SetString(L"PagesRange.Text", L"1-3"); pOptions->SetString(L"DestFolder", L"D:\\TestFolder\\"); pOptions->SetString(L"ExportMode", L"AllToMutliPage"); pOptions->SetInt(L"Zoom", 150); //Image format parameters CComPtr<PXV::ICabNode> pFmtParams; hr = pOptions->get_SubNode(CComVariant("FormatParams"), PXV::dt_Undefined, &pFmtParams); if (FAILED(hr)) break; //Compression type pFmtParams->SetInt(L"COMP", 5); //LZW compression //X DPI pFmtParams->SetInt(L"DPIX", 150); //Y DPI pFmtParams->SetInt(L"DPIY", 150); //Image format pFmtParams->SetInt(L"FMT", 1414088262); //TIFF //Image type pFmtParams->SetInt(L"ITYP", 16); //24 TrueColor //Use Predictor pFmtParams->SetInt(L"PRED", 1); //Yes //Thumbnail pFmtParams->SetInt(L"ITYP", 0); //No hr = pOp->Do(0); } while (false); return hr; }