IPXV_Document::Save Method

From PDF XChange PDF SDK
Revision as of 04:33, 27 July 2016 by Palamar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The method of interface of PDF-XChange Editor SDK.


HRESULT Save([in, defaultvalue(NULL)]  IUnknown*              pDest,
             [in, defaultvalue(0)]     LONG                   nFlags,
             [in, defaultvalue(NULL)]  IProgressMon*          pProgress,
             [in, defaultvalue(NULL)]  IPXV_ExportConverter*  pDestConv,
             [in, defaultvalue(NULL)]  ICab*                  pDestConvParams,
             [in, defaultvalue(NULL)]  IAFS_FileSys*          pDestFS,
             [in, defaultvalue(NULL)]  ICab*                  pAdvancedParams,
             [in, defaultvalue(0)]     HANDLE_T               hWndParent);


[in, defaultvalue(NULL)] Pointer to IUnknown* containing the destination file path. Can be ether IAFS_Name, IStream or NULL. If NULL is specified then the document will be saved to the original file. If the document is newly created, the Save As... dialog will be shown.
[in, defaultvalue(0)] Specify the document save flags.
[in, defaultvalue(NULL)] Pointer to IProgressMon containing the custom initialized progress.
[in, defaultvalue(NULL)] Pointer to IPXV_ExportConverter containing custom export converter.
[in, defaultvalue(NULL)] Pointer to ICab containing custom export converter cab settings.
[in, defaultvalue(NULL)] Pointer to IAFS_FileSys containing destination file system.
[in, defaultvalue(NULL)] Pointer to ICab containing advanced cab parameters that will be available from the saving document events.
[in, defaultvalue(0)] Value of HANDLE_T containing the parent window handle.

Return Value

Returns S_OK if operation was successful or error code in other cases.


private void SaveDocument(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst)
	//Performing save to the same file
	//Performing save to the specified file without the progress bar
	PDFXEdit.IAFS_Inst fsInst = (PDFXEdit.IAFS_Inst)Inst.GetExtension("AFS");
	PDFXEdit.IAFS_Name destPath = fsInst.DefaultFileSys.StringToName("D:\\TestFile.pdf"); //Converting string to name
	Doc.Save(destPath, (int)PDFXEdit.PXV_DocSaveFlags.PXV_DocSave_NoProgress);
	//Saving document as pdfa (for this the PDFA plugin should be registered)
	PDFXEdit.IPXV_ExportConverter cnv = null;
	for (uint i = 0; i < pdfCtl.Inst.ExportConvertersCount; i++)
		if (pdfCtl.Inst.ExportConverter[i].ID == "conv.exp.pdfa")
			cnv = pdfCtl.Inst.ExportConverter[i];
	if (cnv != null)
		PDFXEdit.ICab cab = pdfCtl.Inst.GetFormatConverterParams(false, "conv.exp.pdfa");
		pdfCtl.Doc.Save(destPath, 0, null, cnv, cab);

See Also