IPXV_Document::Save Method

From PDF XChange PDF SDK
Jump to: navigation, search


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);
	}			
}


See Also

IPXV_Document