op.attachments.delete

From PDF XChange PDF SDK
Jump to: navigation, search
(Automatic page editing by robot)
 
(Sample)
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
{{#customTitle:op.attachments.delete}}
 
{{#customTitle:op.attachments.delete}}
 
{{#parentPage:PXV:Operations|op.attachments.delete|operation}}
 
{{#parentPage:PXV:Operations|op.attachments.delete|operation}}
{{ToWrite}}
 
 
{{ToReview}}
 
{{ToReview}}
  
 
== Overview ==
 
== Overview ==
The operation overview...
+
The operation allows to delete file attachments from the given document.
  
 
== Parameters ==
 
== Parameters ==
Line 16: Line 15:
 
| class="op_param_name" | Input
 
| class="op_param_name" | Input
 
| style="text-align:center" | Array
 
| style="text-align:center" | Array
| Array of <code>IUnknown</code>-based objects.
+
| Array of <code>IUnknown</code>-based objects that should contain the [[PXV:IPXC_Document|IPXC_Document]] from which the attachments would be deleted. Note that only the first element from the array will be evaluated.
 
|-
 
|-
 
| class="op_param_name" | Output
 
| class="op_param_name" | Output
 
| style="text-align:center;" | Array
 
| style="text-align:center;" | Array
| Array of <code>IUnknown</code>-based objects.
+
| Array of <code>IUnknown</code>-based objects containing the [[PXV:IPXC_Document|IPXC_Document]] from which the attachments were deleted.
 
|-
 
|-
 
| class="op_param_name" | [[PXV:op_attachments_delete_Options|Options]]
 
| class="op_param_name" | [[PXV:op_attachments_delete_Options|Options]]
Line 26: 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 00:05, 21 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();
}