IPXV_ContentItemsSelection Interface
From PDF XChange PDF SDK
The interface of object of PDF-XChange Editor SDK.
IPXV_ContentItemsSelection extends IPXV_DocSelection interface.
Methods
| GetSel | RemoveSel | UpdateSel |
Properties
| _NewEnum | Count | Item |
Sample
//C#
private void SetContentColor(PDFXEdit.IPXV_Document Doc, PDFXEdit.IPXV_Inst Inst)
{
if (Doc == null)
return;
//Creating contentItems.setProps operation
int nID = Inst.Str2ID("op.contentItems.setProps", false);
PDFXEdit.IOperation Op = Inst.CreateOp(nID);
var input = Op.Params.Root["Input"];
input.Add().v = Doc.CoreDoc;
PDFXEdit.ICabNode options = Op.Params.Root["Options"];
int nSelID = Inst.Str2ID("selection.contentItems", false);
uint nPage = 0; //Page number that will have it's content items modified
//First we need to create content items selection
PDFXEdit.IPXV_ContentItemsSelection itSel = (PDFXEdit.IPXV_ContentItemsSelection)Doc.CreateStdSel((uint)nSelID);
//Then we need to get root item entry for the desired page (we'll create it if needed)
PDFXEdit.IPXV_ContentItemEntry itEntry = itSel.GetSel(nPage, true);
//Inserting needed content items from the page
var content = Doc.CoreDoc.Pages[nPage].GetContent(PDFXEdit.PXC_ContentAccessMode.CAccessMode_WeakClone);
for (uint i = 0; i < content.Items.Count; i++)
{
//For example we will take all of the text items
if (content.Items[i].Type == PDFXEdit.PXC_CIType.CIT_Text)
itEntry.Insert(i);
}
//Adding selected page's root entry with added content items to the operation
options["Entries"].Add(PDFXEdit.CabDataTypeID.dt_IUnknown).v = itEntry;
//Setting the color (note that rgb notation is rgb(r,g,b) where r g b are float values from 0.0 to 1.0)
options["FColor"].v = "#AC3312";
//Setting mask that will tell the operation that the FColor will be modified
options["Mask"].v = 2;
Op.Do();
//Clearing the selection
itSel.Clear();
}