InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPDFFormXObjectSetupProvider Class Referenceabstract

#include <IPDFFormXObjectSetupProvider.h>

Inheritance diagram for IPDFFormXObjectSetupProvider:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IPDFFORMXOBJECTSETUPPROVIDER }
 
enum  {
  kNotInContext = 0, kBeginStaticContext = 1, kContinueStaticContext = 2, kAbortStaticContext = 3,
  kEndStaticContextInclude = 4, kEndStaticContextExclude = 5, kEndStaticContextExcludeBeginNew = 6, kPlaceholder = ((int32)-32767)
}
 

Public Member Functions

virtual bool16 InterestedIn ()=0
 
virtual void BeginIteration (IExportValidationCmdData *validData)=0
 
virtual void EndIteration ()=0
 
virtual void BeginPageOrSpread (IDocument *pDoc, const int32 nOutputPage, const UIDRef refPageOrSpread, const PMRect &rectBounds, const PMMatrix &boundsToSpreadMatrix)=0
 
virtual void EndPageOrSpread (int32 *returnContext, FormID *returnFormID, K2Vector< FormID > &formsUsedOnPage)=0
 
virtual void VisitPageItem (const PMMatrix *masterSpread2LayoutSpreadMatrix, IPMUnknown *pPageItem, int32 nFlags, int32 *returnContext, FormID *returnFormID)=0
 
virtual bool16 OnIterationCompleted (IPDFFormXObjectData *formData)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Document iteration service provider that assists in filling out the IPDFFormXObjectData interface, which is used to create Form XObject constructs when exporting to PDF. This service provider will be called when the draw order it iterated, after the PDF UI, but before the export. The information returned by this service provider will be used to fill out the form lists and pages lists in the IPDFFormXObjectData interface. As page items are visited, the provider reports which page items are in a static context. The page items in the static context are included in the form list for the page. At the end of the page or spread, this provider tells which forms are used on the page, which creates the page list.

Member Enumeration Documentation

anonymous enum

default IID enumerator

anonymous enum

Context states returned from VisitPageItem and EndPageOrSpread calls
Enumerator
kNotInContext 

Current page item is not part of a PDF Form XObject construct

kBeginStaticContext 

Current page item is the first to be used in a PDF Form XObject construct

kContinueStaticContext 

Continue collecting UIDs to be used in form

kAbortStaticContext 

Abort collecting UIDs for a form

kEndStaticContextInclude 

End collecting, and include current page item as part of the form

kEndStaticContextExclude 

End collecting, and do not include current page item as part of the form

kEndStaticContextExcludeBeginNew 

End collecting, start a new form and include current page item as part of the new form

Member Function Documentation

virtual void IPDFFormXObjectSetupProvider::BeginIteration (IExportValidationCmdDatavalidData)
pure virtual

Called at the beginning of the iteration of the document.

Parameters
validDataIN - see
virtual void IPDFFormXObjectSetupProvider::BeginPageOrSpread (IDocumentpDoc,
const int32 nOutputPage,
const UIDRef refPageOrSpread,
const PMRectrectBounds,
const PMMatrixboundsToSpreadMatrix 
)
pure virtual

Called at the beginning of each page or spread.

Parameters
pDocIN - see
nOutputPageIN - which page we are starting
refPageOrSpreadIN - UIDRef of the page or spread
rectBoundsIN - bounds of the page or spread in that objects coordinate system
boundsToSpreadMatrixIN the transformation matrix that maps the rectBounds of a page to spread coordinates. This matrix will be an identity matrix when exporting spreads.
virtual void IPDFFormXObjectSetupProvider::EndIteration ()
pure virtual

Called at the end of the iteration of the document.

virtual void IPDFFormXObjectSetupProvider::EndPageOrSpread (int32 * returnContext,
FormID * returnFormID,
K2Vector< FormID > & formsUsedOnPage 
)
pure virtual

Called at the end of each page or spread. Note that it is OK to return an abort or end context, but the form contexts do not spread across pages, so a begin or continue return contexts are ignored.

Parameters
returnContextOUT - return context, see enum for context values.
returnFormIDOUT - unique ID that identifies the form, if returning one of the EndStaticContext enums
formsUsedOnPageOUT - vector of FormIDs that are used on this page
virtual bool16 IPDFFormXObjectSetupProvider::InterestedIn ()
pure virtual

Determine if this provider is interested in filling out PDF Form XObject information.

Returns
bool16 - kTrue if interested, kFalse otherwise
virtual bool16 IPDFFormXObjectSetupProvider::OnIterationCompleted (IPDFFormXObjectDataformData)
pure virtual

Called at conclusion of iteration. Passes the information we have collected.

Parameters
formDataIN - see
virtual void IPDFFormXObjectSetupProvider::VisitPageItem (const PMMatrixmasterSpread2LayoutSpreadMatrix,
IPMUnknownpPageItem,
int32 nFlags,
int32 * returnContext,
FormID * returnFormID 
)
pure virtual

Called at the beginning of each page item. The return context is used to determine if the page item is to be used in a PDF Form XObject construct.

Parameters
pXFormIN - transformation matrix
pPageItemIN - the page item being visited
nFlagsIN - the drawing flags
returnContextOUT - return context, see enum for context values.
returnFormIDOUT - unique ID that identifies the form, if returning one of the EndStaticContext enums