Q: How do I create a Form XObject?
------
A: Creating a Form XObject is almost the same as creating a new page
(as illustrated in ElementBuilder sample).
For example (using C#):
ElementWriter writer = new ElementWriter();
ElementBuilder eb = new ElementBuilder();
writer.Begin(doc);
eb.PathBegin();
eb.MoveTo(0, 0);
eb.CurveTo(500, 500, 125, 625, 0, 500);
eb.CurveTo(-125, 625, -500, 500, 0, 0);
Element heart = eb.PathEnd();
heart.SetPathFill(true);
heart.GetGState().SetFillColorSpace(ColorSpace.CreateDeviceRGB());
heart.GetGState().SetFillColor(new ColorPt(1, 0, 0));
writer.WriteElement(heart); Obj form_xobj_dict = writer.End();
form_xobj_dict.Put("Subtype", Obj.CreateName("Form")); // Set bounding
box/clipping rectangle.
form_xobj_dict.Put("BBox", Rect.CreateSDFRect(0, 0, 400, 600));
For another example, please see CreateTilingPattern() in PatternTest
sample:
http://www.pdftron.com/net/samplecode.html#Pattern
You can also create a form XObject from PDF page as illustrated in
ImpositionTest (http://www.pdftron.com/net/samplecode.html#Imposition)
sample project.