op.attachments.edit

From PDF XChange PDF SDK
Jump to: navigation, search
(Sample)
Line 28: Line 28:
 
== Sample ==
 
== Sample ==
 
<pre class="brush:c#">//C#
 
<pre class="brush:c#">//C#
private void DeleteAllAttachments(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst)
+
private void EditAttachmentDescription(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst)
 
{
 
{
int nID = Inst.Str2ID("op.attachments.delete", false);
+
int nID = Inst.Str2ID("op.attachments.edit", false);
 
PDFXEdit.IOperation Op = Inst.CreateOp(nID);
 
PDFXEdit.IOperation Op = Inst.CreateOp(nID);
 
PDFXEdit.ICabNode input = Op.Params.Root["Input"];
 
PDFXEdit.ICabNode input = Op.Params.Root["Input"];
Line 36: Line 36:
 
PDFXEdit.ICabNode options = Op.Params.Root["Options"];
 
PDFXEdit.ICabNode options = Op.Params.Root["Options"];
 
PDFXEdit.IPXC_NameTree pTree = Doc.CoreDoc.GetNameTree("EmbeddedFiles");
 
PDFXEdit.IPXC_NameTree pTree = 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;
 
PDFXEdit.IAFS_FileSys pFSys = fsInst.DefaultFileSys;
uint nAttachmentsCount = pTree.Count;
 
 
string sName;
 
string sName;
for (uint i = 0; i < nAttachmentsCount; i++)
+
uint nAttachmentsCount = pTree.Count;
{
+
if (nAttachmentsCount == 0)
PDFXEdit.IPXS_PDFVariant pValue;
+
pTree.Item(i, out sName, out pValue);
+
PDFXEdit.IPXC_FileSpec FS = Doc.CoreDoc.GetFileSpecFromVariant(pValue);
+
al.Insert(FS, al.Count);
+
}
+
if (al.Count == 0)
+
 
return;
 
return;
options["Attachments"].v = al;
+
PDFXEdit.IPXS_PDFVariant pValue;
 +
//Getting first attachment
 +
pTree.Item(0, out sName, out pValue);
 +
PDFXEdit.IPXC_FileSpec FS = Doc.CoreDoc.GetFileSpecFromVariant(pValue);
 +
options["Attachment"].v = FS;
 +
options["Description"].v = "Fist attachment's description";
 
Op.Do();
 
Op.Do();
 
}
 
}
 
</pre>
 
</pre>

Revision as of 05:47, 18 April 2016


Overview

The operation allows to edit the description of the attachment.

Parameters

Name Type Description
Input Array Array of IUnknown-based objects that should contain the IPXC_Document that contains the attachment that would be edited. Note that only the first element from the array will be evaluated.
Output Array Array of IUnknown-based objects containing the IPXC_Document which attachment was modified.
Options Dictionary Dictionary with options of the operation.

Sample

//C#
private void EditAttachmentDescription(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst)
{
	int nID = Inst.Str2ID("op.attachments.edit", 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 pTree = Doc.CoreDoc.GetNameTree("EmbeddedFiles");
	PDFXEdit.IAFS_FileSys pFSys = fsInst.DefaultFileSys;
	string sName;
	uint nAttachmentsCount = pTree.Count;
	if (nAttachmentsCount == 0)
		return;
	PDFXEdit.IPXS_PDFVariant pValue;
	//Getting first attachment
	pTree.Item(0, out sName, out pValue);
	PDFXEdit.IPXC_FileSpec FS = Doc.CoreDoc.GetFileSpecFromVariant(pValue);
	options["Attachment"].v = FS;
	options["Description"].v = "Fist attachment's description";
	Op.Do();
}