IPXV_Document::Save Method
From PDF XChange PDF SDK
The method of interface of PDF-XChange Editor SDK.
Syntax
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);
Parameters
- pDest
- [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.
- nFlags
- [in, defaultvalue(0)] Specify the document save flags.
- pProgress
- [in, defaultvalue(NULL)] Pointer to IProgressMon containing the custom initialized progress.
- pDestConv
- [in, defaultvalue(NULL)] Pointer to IPXV_ExportConverter containing custom export converter.
- pDestConvParams
- [in, defaultvalue(NULL)] Pointer to ICab containing custom export converter cab settings.
- pDestFS
- [in, defaultvalue(NULL)] Pointer to IAFS_FileSys containing destination file system.
- pAdvancedParams
- [in, defaultvalue(NULL)] Pointer to ICab containing advanced cab parameters that will be available from the saving document events.
- hWndParent
- [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.
Sample
//C# private void SaveDocument(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst) { //Performing save to the same file Doc.Save(); //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); } }