IPXV_Document::Save Method
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);
}
}