op.attachments.delete
From PDF XChange PDF SDK
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();
}