Interface IPdfDocumentObject
PDF document object
Namespace: IronSoftware
Assembly: IronPdf.dll
Syntax
public interface IPdfDocumentObject : IPdfDocumentObject, IDocumentObject
IPdfDocumentObject is the contract you accept when a helper needs to inspect, classify, or route any IronPDF object back to the PDF it was read from or written into, without binding to a concrete kind. The contract declares one property, Client of type IPdfClient, which carries the back-reference to the underlying document client; every other API on the implementor comes through richer interfaces that build on top of this contract.
IPdfDocumentObject matters because it is the most widely implemented contract in the IronPDF surface. Three families of types implement it. PDF DOM object types implement it through the IPdfTextObject, IPdfImageObject, and IPdfPathObject interfaces: TextObject, ImageObject, PathObject, and LineTextObject all carry the contract. Form field types implement it through IFormField: TextFormField, CheckboxFormField, ComboboxFormField, RadioFormField, SignatureFormField, and ImageFormField all carry the contract. Font types implement it through IPdfFontObject: PdfFont and FontObject both carry the contract. Polymorphic code that needs to inspect or route any kind of in-document object can accept IPdfDocumentObject and stay decoupled from the concrete kind.
In practice the contract is almost always consumed through one of its richer descendants. Code that walks DOM objects starts from the page's ObjectModel property and processes TextObject, ImageObject, and PathObject instances; the PDF DOM object how-to walks the canonical workflow. Code that fills form fields starts from PdfDocument.Form.FindFormField and works with the returned IFormField; the edit PDF forms how-to has a worked read-and-fill example. In both cases the IPdfDocumentObject surface is satisfied automatically by the implementor.
using IronPdf;
using IronSoftware;
PdfDocument pdf = PdfDocument.FromFile("report.pdf");
// Every TextObject, ImageObject, PathObject, and form field that IronPDF
// returns implements IPdfDocumentObject, so a single polymorphic helper
// can accept any of them.
foreach (TextObject text in pdf.Pages[0].ObjectModel.TextObjects)
{
LogObject(text);
}
LogObject(pdf.Form.FindFormField("FullName"));
void LogObject(IPdfDocumentObject obj)
{
System.Console.WriteLine($"client present: {obj.Client != null}");
}Because Client is the only declared member, a parameter typed as IPdfDocumentObject is enough to log, tag, or dispatch an object but rarely enough to act on it. Once the kind is known, descend to IPdfTextObject, IPdfImageObject, IPdfPathObject, IPdfFontObject, or IFormField for the surface that operation needs.
Properties
Client
Pdf client
Declaration
IPdfClient Client { get; set; }
Property Value
| Type | Description |
|---|---|
| IronSoftware.Pdfium.IPdfClient |