op.attachments.delete
From PDF XChange PDF SDK
(→Sample) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 25: | Line 25: | ||
| Dictionary with options of the operation. | | Dictionary with options of the operation. | ||
|} | |} | ||
+ | |||
+ | == Sample == | ||
+ | <pre class="brush:c#">//C# | ||
+ | private void DeleteAllAttachments(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst) | ||
+ | { | ||
+ | int nID = Inst.Str2ID("op.attachments.delete", 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"]; | ||
+ | PDFXEdit.IPXC_NameTree Tree = Doc.CoreDoc.GetNameTree("EmbeddedFiles"); | ||
+ | PDFXEdit.IAFS_Inst fsInst = (PDFXEdit.IAFS_Inst)Inst.GetExtension("AFS"); | ||
+ | PDFXEdit.IPXV_AttachList al = Inst.CreateAttachList(); | ||
+ | PDFXEdit.IAFS_FileSys pFSys = fsInst.DefaultFileSys; | ||
+ | uint nAttachmentsCount = Tree.Count; | ||
+ | string sName; | ||
+ | for (uint i = 0; i < nAttachmentsCount; i++) | ||
+ | { | ||
+ | PDFXEdit.IPXS_PDFVariant pValue; | ||
+ | Tree.Item(i, out sName, out pValue); | ||
+ | PDFXEdit.IPXC_FileSpec FS = Doc.CoreDoc.GetFileSpecFromVariant(pValue); | ||
+ | al.Insert(FS, al.Count); | ||
+ | } | ||
+ | if (al.Count == 0) | ||
+ | return; | ||
+ | options["Attachments"].v = al; | ||
+ | Op.Do(); | ||
+ | } | ||
+ | </pre> |
Latest revision as of 23:05, 20 April 2016
Overview
The operation allows to delete file attachments from the given document.
Parameters
Name | Type | Description |
---|---|---|
Input | Array | Array of IUnknown -based objects that should contain the IPXC_Document from which the attachments would be deleted. Note that only the first element from the array will be evaluated.
|
Output | Array | Array of IUnknown -based objects containing the IPXC_Document from which the attachments were deleted.
|
Options | Dictionary | Dictionary with options of the operation. |
Sample
//C# private void DeleteAllAttachments(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst) { int nID = Inst.Str2ID("op.attachments.delete", 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"]; PDFXEdit.IPXC_NameTree Tree = Doc.CoreDoc.GetNameTree("EmbeddedFiles"); PDFXEdit.IAFS_Inst fsInst = (PDFXEdit.IAFS_Inst)Inst.GetExtension("AFS"); PDFXEdit.IPXV_AttachList al = Inst.CreateAttachList(); PDFXEdit.IAFS_FileSys pFSys = fsInst.DefaultFileSys; uint nAttachmentsCount = Tree.Count; string sName; for (uint i = 0; i < nAttachmentsCount; i++) { PDFXEdit.IPXS_PDFVariant pValue; Tree.Item(i, out sName, out pValue); PDFXEdit.IPXC_FileSpec FS = Doc.CoreDoc.GetFileSpecFromVariant(pValue); al.Insert(FS, al.Count); } if (al.Count == 0) return; options["Attachments"].v = al; Op.Do(); }