SavePagesThis command is used for two different but similar purposes.
1: Everything enclosed in SavePages is saved internally and not placed into the PDF. Useful if the output might be discarded.
2: “Future mode”: Create pages that have been previously reserved by InsertPages.
Allowed attributes: name
Child elements: AddSearchpath, AttachFile, Bookmark, DefineColor, DefineFontalias, DefineFontfamily, DefineTextformat, ForAll, Group, Hyphenation, Include, InsertPages, Layout, LoadDataset, Loop, Message, NewPage, NextFrame, NextRow, Options, Output, PDFOptions, Pageformat, Pagetype, PlaceObject, ProcessNode, SaveDataset, SavePages, SetVariable, SortSequence, Switch, Until, While
Parent elements: AtPageCreation, AtPageShipout, Case, Contents, ForAll, Loop, Otherwise, Record, SavePages, Until, While
The name of the discarded output (1) or for the reserved pages (2). For later/earlier retrieval with InsertPages.
The second mode has been introduced in version 3.7.12.
First mode:
<Record element="data">
<SavePages name="foo">
<Loop select="100">
<PlaceObject>
<Textblock>
<Paragraph><Value>Hello world</Value></Paragraph>
</Textblock>
</PlaceObject>
</Loop>
</SavePages>
<Message select="sd:count-saved-pages('foo')"/>
<InsertPages name="foo"/>
</Record>
“Future mode”
<Layout xmlns="urn:speedata.de:2009/publisher/en"
xmlns:sd="urn:speedata:2009/publisher/functions/en">
<Pageformat height="5cm" width="5cm"/>
<Record element="data">
<InsertPages name="firstpage" pages="1"/>
<Loop select="4" variable="n">
<PlaceObject>
<Textblock>
<Paragraph>
<Value select="$n" />
</Paragraph>
</Textblock>
</PlaceObject>
<NewPage/>
</Loop>
<SavePages name="firstpage">
<PlaceObject>
<Textblock>
<Paragraph>
<Value>This will be the first page</Value>
</Paragraph>
</Textblock>
</PlaceObject>
</SavePages>
</Record>
</Layout>