# Elementname: `SavePages`

## Description

This 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

### Attributes

name (text)

  The name of the discarded output (1) or for the reserved pages (2). For later/earlier retrieval with InsertPages.

### Remarks

The second mode has been introduced in version 3.7.12.

## Example

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>

## See also

InsertPages

# Commands

- A
- Action
- AddSearchpath
- AtPageCreation
- AtPageShipout
- AttachFile
- Attribute
- B
- Barcode
- Bold
- BoldItalic
- Bookmark
- Box
- Br
- Case
- Circle
- Color
- Column
- Columns
- Compatibility
- Contents
- Copy-of
- DefineColor
- DefineColorprofile
- DefineFontalias
- DefineFontfamily
- DefineTextformat
- Element
- Fallback
- Fontface
- ForAll
- Frame
- Grid
- Group
- Groupcontents
- HSpace
- Hyphenation
- I
- Image
- Include
- Initial
- InsertPages
- Italic
- Layout
- Li
- LoadDataset
- LoadFontfile
- Loop
- Makeindex
- Margin
- Mark
- Message
- NewPage
- NextFrame
- NextRow
- NoBreak
- Ol
- Options
- Otherwise
- Output
- Overlay
- PDFOptions
- Pageformat
- Pagetype
- Paragraph
- PlaceObject
- Position
- PositioningArea
- PositioningFrame
- ProcessNode
- Record
- Regular
- Rule
- SaveDataset
- SavePages
- SetGrid
- SetVariable
- SortSequence
- Span
- Stylesheet
- Sub
- Sup
- Switch
- Table
- TableNewPage
- Tablefoot
- Tablehead
- Tablerule
- Td
- Text
- Textblock
- Tr
- Trace
- Transformation
- U
- URL
- Ul
- Until
- VSpace
- Value
- While

Version: 3.8.0 | Start page | Command reference | Other language: German