Awesome Exporter for Adobe InDesign gives complete control of JPG, PDF, PNG, EPS, INDD and IDML file exports via an intuitive user interface, powerful query syntax and flexible template syntax. Select pages, spreads, layouts and sections using attributes, styles and data, then name and export folders and files for production artwork, asset libraries, websites and multilingual files quickly and easily.
Available from the Adobe Creative Cloud Marketplace
- Quickly select layouts, sections, spreads, pages and layers by name, attribute, style or content.
- Select exactly what you need using page numbers, ranges and content new query tags.
- Export file variations and multiple languages from a single InDesign document source file using variable layers.
- Use collections to build groups of exports from a single InDesign document source.
- Create auto-queries to dynamically build export collections based on attributes, content or sequences.
- Name exports using flexible template tags.
- Build tags with conditional statements and if/then connections.
- Refine and fine-tune folder names and file names using modifier functions.
- Standard InDesign format settings are available for JPG, PDF, PNG, EPS, INDD and IDML files.
- Extended settings allow multiple variations of resolutions, qualities and other attributes.
- Export pages, spreads and combined files.
- Easily package INDD files, fonts and links.
- Save ranges, templates and settings as shareable files, locally and remotely – ideal for sharing presets amongst teams.
- Attach presets to documents as sidecar files, linking them directly to your workflow.
- Build batch exports and save report files with exports.
- Live previews show your folders and files before exporting.
- Tag builder interfaces help create range queries and filename templates.
Range queries can be standard InDesign ranges, absolute page references, new query tags, or a mix of all. The range builder dialog lists available layouts, sections and pages alongside the tag builder tool, allowing quick creation of custom tags based on document content and attributes.
-
Select by Page Number:
+6
selects page index 6,+10
selects page index 10. -
Select by Layout:
A4
selects all pages with the reference of 'A4' (references include layout and section prefixes). -
Select by Section: Enter the layout name and followed by the section name;
A4:One
. This will export all pages in a section named 'One' from the 'A4' layout. Just the section name (in this example,One
) can also be used. -
Select by Page Name: Use page references such as
A4:One:2
to select page 2 from sectionOne
in layoutA4
.
Document layouts, sections, and page references are all listed for easy selection in the Range Builder UI.
Awesome Exporter's tag syntax allows range selection by attribute, style and data – offering powerful new ways to filter content and export exactly what you need – while retaining the integrity and setup of your source documents. The following examples in this guide assume your test document has the following:
- A textframe named 'Code' somewhere on one or more pages, and the textframe contains the characters '123'.
- An image named 'Cover' somewhere on one of your documents pages which links to a file named (the examples use 'Cover Image.jpg').
- A page with the colour label red and a page with the colour label green.
- A paragraph style named 'Title', applied to some text on your page.
- A layer named 'EN' with some content to represent English language data.
- A layer named 'FR' with some content to represent French language data.
The examples in this guide can be easily adapted to match your existing document if required. If you're testing Awesome Exporter on your own existing documents, you'll need to adjust the names of the example tags as required to fit your document. The range, template and modifier builder interfaces will help create queries and templates based on the content inside your document.
These tags allow quick selection of document pages. Enter them as a single range query or combined with other queries.
Tag | Description |
---|---|
<[All]> |
All pages. |
<[Visible]> |
Visible pages. |
<[Hidden]> |
Hidden pages. |
<[Even]> |
Even numbered pages. |
<[Odd]> |
Odd numbered pages. |
<[Selected]> |
Pages selected in the InDesign pages panel. |
<[NotSelected]> |
Pages not selected in the InDesign pages panel. |
<[First]> |
First page in the document. |
<[Last]> |
Last page in the document. |
Range tags allow standard range queries to be used in Awesome Exporter's tag syntax. Standard ranges can also be used within conditional statements, and can take advantage of operators. For example, to export all pages apart from page index 3, you can use: <Range|!=|'+3'>
.
The full list of range and template tags can be found towards the end of this guide.
Awesome Exporter has two types of tags: 'attributes' and 'objects'. Attribute tags are tags which access data and content from the source document, and object tags are tags which check the existence of document objects and data. Attribute tags are always formed from object tags. All tags can easily be found and identified in the range builder window and template builder window.
Operators are used when creating attribute tags to allow tag data to be compared to a specified value. For example, <Page:Text:Code:Content|=|'123'>
retrieves the content from a document textframe named 'Code' and checks to see if it matches the specified value; '123'. When used as a query, all pages which have a textframe named 'Code' with a value of '123' are added to the range.
Awesome Exporter supports the following data comparison operators for range tags:
Operator | Description | Text | Numeric | Layer |
---|---|---|---|---|
= |
Equal to. | ✓ | ✓ | ✓ |
!= |
Not equal to. | ✓ | ✓ | ✓ |
> |
Greater than. | ✓ | ||
>= |
Greater than or equal to. | ✓ | ||
< |
Less than. | ✓ | ||
<= |
Less than or equal to. | ✓ | ||
Includes |
Does the tag include... | ✓ | ✓ | ✓ |
!Includes |
Does the tag not include... | ✓ | ✓ | ✓ |
Starts |
Does the value start with... | ✓ | ✓ | ✓ |
!Starts |
Does the value not start with... | ✓ | ✓ | ✓ |
Ends |
Does the value end with... | ✓ | ✓ | ✓ |
!Ends |
Does the value not end with... | ✓ | ✓ | ✓ |
IsEven |
Is the value an even number. | ✓ | ✓ | |
IsOdd |
Is the value an odd number. | ✓ | ✓ |
Object tags can use special operators to check for the existence of document data and document objects. For example, the Page:Colour
attribute could be set to a colour, or 'None'. To check for this value in the document use: <Page:Colour|[Any]>
to add pages to the range which have ANY colour label set, and <Page:Colour|[None]>
to add pages which have NO colour set.
Awesome Exporter supports the following operators for object tags:
Operator | Description |
---|---|
[Any] |
Object or data is set to anything. |
[None] |
Object or data is set to 'None', '[None]' or similar. |
[Exists] |
Referenced object item instance is found in the document. |
[Missing] |
Referenced object item instance is not found in the document. |
-
Select pages containing a text frame named 'Code' containing the value equal to '123':
<Page:Text:Code:Content|=|'123'>
. -
Select any pages containing a text frame named 'Code' which doesn't contain the value of '123':
<Page:Text:Code:Content|!=|'123'>
. -
Select any pages containing an image named 'Cover' where the image filename is equal to 'Cover Image.jpg':
<Page:Image:Cover:Filename|=|'Cover Image.jpg'>
. -
Select all pages where the extension of an image frame named 'Cover' is a tiff file: ```Page:Image:Cover:Extension|=|'tif'``.
-
Select all pages where the extension of an image frame named 'Cover' is not a tiff file:
<Page:Image:Cover:Extension|!=|'tif'>
-
Select page 3 in a document plus any pages which don't have a red colour label:
+3,<Page:Colour:Value|!=|'Red'>
. -
Export all pages with any parent page applied:
<Page:Parent|[Any]>
. -
Export all pages with no parent page applied:
<Page:Parent|[None]>
. -
Export all pages with a width greater than 200 units of the document's specified unit:
<Page:Width:Value|>|'200'>
.
Conditional statements allow finer selection by allowing multiple queries to be combined into a single tag using braces to wrap each query: {
}
. Queries can be OR logic – where the first valid part of the tag is used, AND logic – where all parts of the tag must return matching results to be valid, or JOIN logic – where any valid parts of the tag are combined into a result. Here are some examples:
-
Select pages with a green colour label, parent page with reference 'A' and JOIN the results together. Any part can return results, invalid parts are ignored.
<{Page:Colour:Label|=|'Green'}Join{Page:Parent:Reference|=|'A'}>
-
Select pages with a green colour label AND the parent page with reference 'A'. Both parts must return results.
<{Page:Colour:Label|=|'Green'}And{Page:Parent:Reference|=|'A'}>
-
Select pages with a green colour label OR the parent page with reference 'A'. Either part can return a result.
<{Page:Colour:Label|=|'Green'}Or{Page:Parent:Reference|=|'A'}>
-
Select all spreads where text frame called 'Title' exists (content data is not important) AND the spread has a width less than 200. Both parts must return results.
<{Spread:Text:Title|[Exists]}And{Spread:Width|<|'200'}>
-
Select all spreads where textframe called 'Title' exists (content data is not important) OR the spread has a width less than 200. Either part can return a result.
<{Spread:Text:Title|[Exists]}Or{Spread:Width|<|'200'}>
Conditional queries can be used with most attribute tags and the range builder UI provides a simple way of visually creating conditional statements inside tags.
Special prefixes and suffixes can be added to page references and tags to extend selection from the point specified by the reference or tag, forwards to backwards to a specific point in a document. For example +1-
extends selection to the end of the current section, +1--
extends selection to the end of the current layout and +1---
extends selection to the end of the current document. This also works in reverse: -+5
extends selection to the start of the current section, --+5
extends selection to the start of the current layout and ---+5
extends selection to the start of the current document.
Flags are also available, they work in the same way and can help with syntax clarity. For example: +1-[Spread]
extends to the end of the spread and [Section]-+20
would extend from page 20 back to the start of the section.
The dashes and flags can be applied to the left of a reference, to extend backwards through the document, or to the right of a reference to extend forwards through the document.
Operator | Description |
---|---|
- |
Select from reference to the start or end of the current section. |
-- |
Select from reference to the start of end of the current layout. |
--- |
Select from reference to the start or end of the current document. |
-[Spread] |
Select from reference to the end of the current spread. |
-[Section] |
Select from reference to the end of the current section. |
-[Layout] |
Select from reference to the end of the current layout. |
-[Document] |
Select from reference to the start of the current document. |
[Spread]- |
Select from reference to the start of the current spread. |
[Section]- |
Select from reference to the start of the current section. |
[Layout]- |
Select from reference to the start of the current layout |
[Document]- |
Select from reference to the start of the current document. |
The <Layers:Constant>
and <Layers:Variable>
tags specify which layers should be exported/used with each file – allowing exports to have content variations such as multilingual copy from a single document, simply by using a custom mix of layers.
In this example, all document pages are selected using <[All]>
then two separate exports for each page are specified – one export will use the layer named 'EN' and another export will use the layer named 'FR'. The layer named 'Background' will be used in all exports: <[All]>,<Layers:Constant:Name|=|'Background'>,<Layers:Variable:Name|=|'EN','FR'>
The <Layers>
tag can also be used to export specific constant layers, without variable layers. In this example all document pages and all layers coloured red are exported: <[All]>,<Layers:Constant:Colour|=|'Red'>
This next example 'Green' coloured layers will be exported for all files, and the layers named 'EN' and 'FR' used as variable layers to create mixed content exports. The layer named 'EN' could contain English copy and the layer named 'FR' could contain French copy, to demonstrate a file with multilingual content. <[All]>,<Layers:Constant:Colour|=|'Green'>,<Layers:Variable:Name|=|'EN','FR'>
If required, only variable layers can be specified to create mixed exports without the need for constant layers. This would be done by only using the variable layers tag: <Layers:Variable:Name|=|'EN','FR'>
.
Note: Layer order is always derived from the source document, not the tag order.
Document layers also have attributes such as 'visible' and 'printable' – to reference these attributes in a range query layer tag, the following flags can be used:
Operator | Description |
---|---|
[Visible] |
Use visible layers. |
[Visible][Printable] |
Use visible layers which are also printable. |
[Visible][NotPrintable] |
Use visible layers which are also not printable. |
[Hidden] |
Use hidden layers. |
[Hidden][Printable] |
Use hidden layers which are also printable. |
[Hidden][NotPrintable] |
Use hidden layers which are also not printable. |
[Printable] |
Use printable layers. |
[NotPrintable] |
Use non-printable layers. |
The <Filter>
tag can be used to filter out certain results and errors. Filters can be applied to the whole range query, or to each collection.
Flag | Description |
---|---|
BlankPages |
Remove blank pages from results. |
BlankSpreads |
Remove blank spreads from results. |
DuplicatePages |
Remove duplicate pages from results. |
EmptyCollections |
Remove empty collections from results. |
EmptyResults |
Remove from results. |
EmptyPages |
Remove empty pages from results. |
EmptySpreads |
Remove empty spreads from results. |
HiddenSpreads |
Remove hidden spreads from results. |
HiddenPages |
Remove hidden pages from results. |
HiddenItems |
Remove any hidden item data from results. |
ReferenceErrors |
Ignore any query reference errors. |
The <Flag>
tag can be used to highlight certain alerts in the file list, but not filter them out. Flags can be used with the whole range query or per collection.
Flag | Description |
---|---|
DuplicatePages |
Flag duplicate pages in export preview. |
BlankSpreads |
Flag blank spreads in export preview. |
BlankPages |
Flag blank pages in export preview. |
EmptyCollections |
Flag empty collections in export preview. |
EmptyTags |
Flag empty tags in export preview. |
EmptySpreads |
Flag empty spreads in export preview. |
EmptyPages |
Flag empty pages in export preview. |
HiddenSpreads |
Flag hidden spreads in export preview. |
HiddenPages |
Flag hidden pages in export preview. |
MissingTags |
Flag missing tags in export preview. |
Alerts |
Flag any alerts in export preview. |
The <Arrange>
tag is used to sort query results before the results are named using the template. This allows range queries to be defined in any order, then sorted using one of the below keys. The ordered results are then named and counted in this newly arranged order. Each collection can have its own arrange tag, or the arrange tag can be added to the whole range query.
- Examples:
<Arrange|'Index'|'Ascending'>
,<Arrange|'Colour'|'Ascending'>
,<Arrange|'Height'|'Descending'>
and<Arrange|'Parent'|'Descending'>
.
Key | Availability |
---|---|
Index |
All Types |
Reference |
All Types |
Parent |
All Types |
Colour |
All Types |
Layers |
All Types |
Width |
All Types |
Height |
All Types |
Format |
All Types |
Layout |
All Types |
Section |
All Types |
Notes |
All Types |
Alerts |
All Types |
Order | Description |
---|---|
Ascending |
All Types |
Descending |
All Types |
The <Sort>
tag is used to sort query results after naming has occurred. Each collection can have its own sort tag.
- Examples:
<Sort|'Index'|'Ascending'>
,<Sort|'Resolution'|'Ascending'>
,<Sort|'Layers'|'Descending'>
and<Sort|'Section'|'Descending'>
.
Key | Availability |
---|---|
Index |
All Types |
Reference |
All Types |
Parent |
All Types |
Colour |
All Types |
Layers |
All Types |
Width |
All Types |
Height |
All Types |
Format |
All Types |
Layout |
All Types |
Section |
All Types |
Resolution |
JPG |
Quality |
JPG |
Colour Space |
JPG |
Encoding |
JPG |
Resolution |
JPG & PNG |
Quality |
JPG & PNG |
Colour Space |
JPG & PNG |
Preset |
|
PostScript Level |
EPS |
Colour |
EPS |
Preview |
EPS |
Embed Fonts |
EPS |
Data Format |
EPS |
Notes |
All Types |
Alerts |
All Types |
Order | Description |
---|---|
Ascending |
All Types |
Descending |
All Types |
Multiple queries can be combined into 'collections' using the (
and )
characters. For example: (+2)(+1,+3)
would return an export collection containing page 2, and a separate export collection containing pages 1 and 3. Collections can contain both ranges and tags – in this example, a collection containing pages 1, 2 and 3 plus a collection containing pages with the parent named 'Square' is defined: (+1-+3)(<Page:Parent:Name|=|'Square'>)
Collections can be labelled by wrapping an alpha-numeric string between the @
characters at the start of a collection as follows: (@One@ +1-+3) (@Two@ <Page:Parent:Name|=|'Square'>)
. These labels can then be accessed in the filename template using the <Collection:Label>
tag.
Collections allow multiple file sets to be exported from a single document and export preset.
Collections can also be automatically built using the Collect
tag, the tag builds collections based on the specified document attributes or data. For example, <Collect|'Data'|'Page:Colour:Label'>
gathers pages into collections based on their colour label, <Collect|'Data'|'Page:Parent:Name'>
builds collections based on page parent names and <Collect|'Data'|'Page:Section:Name'>
builds collections using section names. Collect tags work with any available attribute data tag in the document.
You can also collect using sequences. <Collect|'Sequence'|'+1'|'3'>
gathers pages into groups of three, starting with page index 1.
Other tags and references can be combined with collect tags, allowing additional pages and layers be be combined into each collection returned by the Collect
tag. In this example, page numbered 2 is added to each collection and each collection is sorted by index.
<Collect|'Sequence'|'+1'|'3'>,<Page:Number|=|'2'>,<Arrange|Index|Ascending>
File and folder name templates are built using the same syntax as range query tags, with just a few subtle differences in tag structure. Template tags can refer to document content or attributes, allowing you to use styled and named document data in filenames. Here are some examples:
The following template creates a filename using the documents name and a sequential export number. A spacer character <|>
is used between the two tags: <Document:Name><|><Export:Index>
.
This example creates a folder named 'Web' and a file named using the document name and a sequential export number: Web</><Document:Name><|><Export:Index>
. The </>
tag is used to defined where the template splits into a folder name and file name.
The full list of range and template tags can be found towards the end of the guide.
When creating a document, data such as chapter titles or section headers likely won't appear on each page but you may want to use the data for every export. The template lookback symbol (^
) and the range lookback symbol (^^
) helps by looking back up through the recent exports and document data from the current export page, using the most recently found data for that tag.
- For example:
<^Page:Text:Chapter:Content>
uses the content of a textframe named 'Chapter' in each export, this textframe might only appear on certain pages, but each export will reference the most recent data.
As soon as a page is encountered which does not return data, the parser will look back through previous exports in the list and use that data to fill the missing data.
Similar to the conditional range tags, conditional template tags use curly braces {
}
to wrap multiple tag parts. Condition tags can be Or logic – where the first valid part of the tag is used, And logic – where all parts of the tag must return results, or Join logic, where any valid parts of the tag are combined into one result. Here are some examples:
-
Use data from the textframe named 'Code' if it exists, OR use the textframe named 'Code' from the parent page as a fallback.
<{Page:Text:Code:Content}Or{Parent:Text:Code:Content}>
. -
Use the page textframe named 'Code' if it returns data, or uses the string 'Missing' as a fallback.
<{Page:Text:Code:Content}Or{'Missing'}+>
-
Use data from the spread textframe named 'Code', AND the page colour label. If either of these don't return data then nothing will be output.
<{Page:Text:Code:Content}And{Page:Colour:Label}+>
Template tags can be labeled using the @
character wrapper at the start of the tag as follows: <@NAME@Document:Name>
- this tag would have the label: NAME
. Labels give tags unique identifiers which can be used by modifier queries to run functions against a specific tags value.
Tags can check the data validity or surrounding tags using the +
and -
symbols. +
allows a tag to be used if a surrounding tag contains valid data, and -
allows a tag to be used if a surrounding tag contains invalid data. You can use this functionality to 'chain' tags together and build flexible, conditional templates which depend on data from other tags.
- In this example, the spacer is only used if the tags to both the left and right contain valid data:
<Document:Name><+|+><Page:Text:Code:Content>
. If the<Document:Name>
or<Page:Text:Code:Content>
tags don't return data, the spacer tag is ignored.
Spacer tags can check validity to the left <+|>
, to the right <|+>
and to both sides <+|+>
. All other template tags can only check the preceding tag no the left side <+File:Name>
.
-
In this example a filename is defined, where each tag checks the previous tag:
<Document:Name><+|><+Page:Text:Part1:Content><+|><+Page:Text:Part2:Content><+|><+Page:Text:Part3:Content>
. -
Validity checkers can be mixed with other symbols such as conditional template tags and data lookback template tags:
<Document:Name><+|><+{Page:Text:Part1:Content}{Page:Text:Part2:Content}><|+><+Page:Text:Part3:Content>
Modifier functions allow template tag data to be modified using a range of built-in functions. Queries can be run against any tag, label or data in the template, allowing you to manipulate and fine-tune finished folder and file names.
Note: Modifier functions can be applied to tags, labels, folders, files or the full export path. Each function replaces or changes its target data with the data returned from the function.
Target | Run Function Against... |
---|---|
<Path> |
The full export path. |
<Folder> |
The folder part of the export path. |
<File> |
Just the file part of the full export path. |
<Tag> |
A specific tag used in the template. |
<Export> |
Each export (mainly used with 'Note' functions). |
Strings |
Text placed inside string tags. |
Spacers |
Spacer tags. |
Text |
Text which appears in the template (not inside tags). |
@Label@ |
A labelled tag. |
Function | Description | Parameters |
---|---|---|
Index |
Create a running index of the specified source data. | |
Count |
A running count of the specified source data | |
Total |
A final total of the specified source data. | |
Note |
Add notes to the 'Note' column of the export preview. | |
FindReplace |
Replace the source with the specified string. | |
Replace |
Replace a string with another string. | |
Split |
Split tag value by delimiter and return part of it. | |
Pad |
Pad the tag value using a specified amount of characters. | |
Insert |
Insert data at a specified point. | |
Prefix |
Add to the start of a tag value. | |
Suffix |
Add to the end of a tag value. | |
Uppercase |
Convert tag or label to upper case. | |
Lowercase |
Convert tag or label to lower case. | |
Titlecase |
Convert tag or label to title case. | |
Increase |
Increase the numeric value of a tag. | |
Decrease |
Decrease the numeric value of a tag. | |
Add |
Add to the numeric value of a tag. | |
Subtract |
Subtract from the numeric value of a tag. | |
Multiply |
Multiply the numeric value of a tag. | |
Divide |
Divide the numeric value of a tag. | |
Length |
Get the length of the tags value. | |
Trim |
Trim space characters from the source data. | |
ReduceSpaces |
Reduce multiple spaces in the source data. | |
ReplaceInvalidCharacters |
Replace any invalid characters in the source data with a specified string. | |
RemoveInvalidCharacters |
Remove invalid characters in the source data. | |
ReplaceDiacriticCharacters |
Replace any diacritic characters in the source data with a specified string. | |
RemoveDiacriticCharacters |
Remove diacritic characters in the source data. | |
ConvertDiacriticCharacters |
Convert diacritic characters in the source data. |
- Convert the file name to uppercase
<File|Uppercase>
. - Convert the folder name to uppercase
<Folder|Uppercase>
. - Convert the entire file path to uppercase
<Path|Uppercase>
. - Convert a labelled tag to uppercase
<@ABC@|Uppercase>
. - Convert any occurrence of
<Document:Name>
tags to uppercase<Document:Name|Uppercase>
Some functions require parameters. For example, the replace function takes three; (1) an operator, (2) a string to find and (3) a replacement string. Here's how to use the FindReplace
function.
- Replace '72' with 'Web' for all
<JPG:Resolutions>
tags:<JPG:Resolution|FindReplace|=|'72'|'Web'>
- Replace '300' with 'Web' for all
<JPG:Resolutions>
tags:<JPG:Resolution|FindReplace|=|'300'|'Print'>
- Replace '72' with 'Web' for all tags labelled 'ABC':
<@ABC@|FindReplace|=|'72'|'Web'>
Another function, Split
is useful when you need to extract specific parts of a tags data. In this example we assume the document name is 'Web Assets - July - Marketing', and we only want to use the first part of the document name. We would use the <Document:Name>
tag in the filename template, and use the split function modifier to modify it: <Document:Name|Split|' - '|'1'>
. This query would return 'Web Assets' from the document name. Changing the modifier argument from '1' to '2' would return 'July', and '3' would return 'Marketing'.
Indexed template labels allow you to target specific exports with modifier functions. To create an indexed label simply add the -#
postfix to the end of any filename template tag label, you can then reference a label by it's name, or by its collection index and export index.
Let's assume we have the following filename template: <@Tag-#@Document:Name>
. This indexed tag allows us to run the following modifiers against it:
- Uppercase the tag labeled 'Tag-#':
<@Tag-#@|Uppercaase>
- Uppercase exports in collection 1 for the tag labeled 'Tag-#':
<@Tag-1@|Uppercaase>
- Uppercase the export 3 in collection 1, for the tag labeled 'Tag-#':
<@Tag-1-3|@Uppercaase>
- Uppercase the export 8 in collection 2, for the tag labeled 'Tag-#':
<@Tag-2-8|@Uppercaase>
Counters are a special type of modifier function which allow tags to be counted – returning a numeric value based on the occurrence of objects, attributes or data in the document. This allows you to dynamically index and count exports based on live data.
In the following examples, we will assume the document has a textframe named 'Chapter' which will be used as a counter. The required setup is as follows: Template: <@Chapter@>
. Modifier: <@Chapter@|Index|'Pages'|'Range'|'Page:Text:Chapter:Content'>
Here, the Index
function creates an index counter associated with the label named Chapter
. The counter will increment for each new 'Page' in the export range, and will start the count at the first page of the 'Range' (pages in the document but not in the range results will not be counted). The counter will reset to zero each time it encounters a text frame named 'Chapter' ('Page:Text:Chapter:Content') on a page.
The tables below list the arguments which can used to build 'indexes', 'counts' and 'totals'.
Counter Types:
Type | Description |
---|---|
Index | The current index. |
Count | A running total of a specific index. |
Total | A total of all associated counts. |
First Argument Options:
Type | Description |
---|---|
Pages | Counter increases for each page. |
Spreads | Counter increases for each spread. |
Second Argument Options:
Type | Description |
---|---|
All | Count starts at the start of the document, even if not included in the range query. |
Range | Count starts with the first page in the range query. |
Modifier tags can be extended further by adding an 'if condition', causing modifiers to run only when specific conditions are met.
-
In this example we'll convert the
<Document:Name>
tag to uppercase only if the document file name is 'Brand Assets.indd':<Document:Name|Uppercase|If|'Document:File'|=|'Brand Assets.indd'>
-
In this example, we append the word 'Web' to the end of the template path, only if the file being exported is a JPG with the resolution of '72':
<Path|Suffix|'Web'|If|'JPG:Resolution'|=|'72'>
Awesome Exporter allows presets to be created, modified, moved, shared and deleted from within the application. Presets contain range, format, template and modifier configurations which can be saved either globally, against a specific document or to a custom location. All presets are stored in JSON format to allow easy editing and portability.
Location | Description |
---|---|
Quick Exports | Default application exports. Useful for quick, sharable presets. |
Document Sidecars | A JSON preset file with the same name as a document, in the same folder. Useful for document specific presets which are linked to the document content. |
Custom Location | A local or server based JSON file. Useful for sharing presets within a team. |
There's no one-fit-all solution to creating 'taggable' content in your files, and Awesome Exporter doesn't require you to change the structure or layout in your document to fit a specific format. For some use-cases though it is worth considering how you will structure your document from the start. The majority of the time, you can simply build tags from existing styled data, oe add named 'meta data' to the document (triple click to edit the name in InDesign).
When Awesome Exporter builds syntax for a document, it 'tags' the first occurrence of data in named text frames, named objects, styled paragraphs and styled characters. When multiple items with the same name or style exist on a page, only the first instance is referenced by Awesome Exporter. This means some consideration needs to be applied to the placement of taggable elements in the document's layers panel.
Below is a list of tags available for use in range queries and filename templates. Some tags can only be used in range queries and some only used in filename queries, the tick marks show where each tag can be used. Remember, the range query builder window and template builder window can be used to discover and create any tag available to the document you are exporting.
Reference | Description | Range | Template |
---|---|---|---|
<[All]> |
All pages in the document. | ✓ | |
<[Visible]> |
Visible pages in the document. | ✓ | |
<[Hidden]> |
Hidden pages in the document. | ✓ | |
<[Even]> |
All even numbered pages. | ✓ | |
<[Odd]> |
All odd numbered pages. | ✓ | |
<[First]> |
First page in document. | ✓ | |
<[Last]> |
Last page in document. | ✓ | |
<[Selected]> |
Pages and spreads selected in the UI. | ✓ |
Reference | Description | Range | Template |
---|---|---|---|
<Range> |
Select pages based on range query. | ✓ | |
<Collect> |
Create live collections from attributes and data. | ✓ | |
<Sequence> |
Collect a range sequence from the document. | ✓ | |
<Filter> |
Set range filters. | ✓ | |
<Flag> |
Set range flags. | ✓ | |
<Arrange> |
Arrange range query results. | ✓ | |
<Sort> |
Sort the export preview. | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<System:Type> |
System type ID. | String | ✓ | ✓ |
<System:User> |
System user name. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Host:UserID> |
Host application user ID. | String | ✓ | ✓ |
<Host:UserName> |
Host application user name. | String | ✓ | ✓ |
<Host:Company> |
Host application company name. | String | ✓ | ✓ |
<Host:App> |
Host application name. | String | ✓ | ✓ |
<Host:Version> |
Host application version. | String | ✓ | ✓ |
<Host:Name> |
Host name. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<App:Name> |
Application name. | String | ✓ | ✓ |
<App:Company> |
Application company name. | String | ✓ | ✓ |
<App:Version> |
Application version. | String | ✓ | ✓ |
<App:Host> |
Application host name. | String | ✓ | ✓ |
<App:Date> |
Application production date. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Document:Folder> |
Document folder path. | String | ✓ | ✓ |
<Document:File> |
Document file path. | String | ✓ | ✓ |
<Document:Name> |
Document name. | String | ✓ | ✓ |
<Document:Extension> |
Document extension. | String | ✓ | ✓ |
<Document:Created> |
Document creation date/time. | String | ✓ | ✓ |
<Document:Modified> |
Last modified date/time. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Folder:Name> |
Folder name. | String | ✓ | ✓ |
<Folder:Path> |
Folder path. | String | ✓ | ✓ |
<Folder:Created > |
Folder creation date/time. | String | ✓ | ✓ |
<Folder:Modified> |
Last modified date/time. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<File:Name> |
File name | String | ✓ | ✓ |
<File:Extension> |
File extension. | String | ✓ | ✓ |
<File:Created> |
File creation date/time. | String | ✓ | ✓ |
<File:Modified> |
File modified date/time. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<XMP:Author> |
Author name from XMP data | String | ✓ | ✓ |
<XMP:Description> |
Document description from XMP data. | String | ✓ | ✓ |
<XMP:CopyrightInfoURL> |
Copyright URL from XMP data. | String | ✓ | ✓ |
<XMP:CopyrightNotice> |
Copyright notice from XMP data. | String | ✓ | ✓ |
<XMP:DocumentTitle> |
Document title from XMP data. | String | ✓ | ✓ |
<XMP:Creator> |
Document creator from XMP data. | String | ✓ | ✓ |
<XMP:Keywords> |
Document keywords from XMP data. | String | ✓ | ✓ |
<XMP:ServerURL> |
Server URL from XMP data. | String | ✓ | ✓ |
<XMP:JobName> |
Job name from XMP data. | String | ✓ | ✓ |
<XMP:Format> |
Format from XMP data. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Variable:XXX> |
File name | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Layouts:Count> |
Number of layouts in the document. | String | ✓ | ✓ |
<Sections:Count> |
Number of sections in the document. | String | ✓ | ✓ |
<Spreads:Count> |
Number of spreads in the document. | String | ✓ | ✓ |
<Pages:Count> |
Number of pages in the document. | String | ✓ | ✓ |
Reference | Description | Range | Template |
---|---|---|---|
<Layers:Constant:Name> |
Specify constant layers by name. | ✓ | ✓ |
<Layers:Constant:Colour> |
Specify constant layers by colour. | ✓ | ✓ |
<Layers:Variable:Name> |
Specify variable layers by name. | ✓ | ✓ |
<Layers:Variable:Colour> |
Specify variable layers by colour. | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Preset:Name> |
Preset name. | String | ✓ | ✓ |
<Preset:Description> |
Preset description. | String | ✓ | ✓ |
<Preset:Modified> |
Is the preset modified? | Y/N | ✓ | ✓ |
<Preset:Favourite> |
Is the preset favourited? | Y/N | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Collections:Index> |
Number | ✓ | ||
<Collections:Count> |
Number | ✓ | ||
<Collections:Exports> |
Number | ✓ | ||
<Collection:Label> |
Number | ✓ | ||
<Collection:Index> |
Number | ✓ | ||
<Collection:Exports> |
Number | ✓ | ||
<Exports:Count> |
Number of exports | Number | ✓ | |
<Export:Type> |
Number | ✓ | ||
<Export:Format> |
File format of the export. | Number | ✓ | |
<Export:Extension> |
File extension of the export. | Number | ✓ | |
<Export:Order> |
Position of the export in relation to all exports. | Number | ✓ | |
<Export:Index> |
Export index. | Number | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Spread:Pages> |
Number of pages in the spread. | ✓ | ✓ | |
<Spread:Index> |
Current spread number. | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Page:Name> |
Page name. | String | ✓ | ✓ |
<Page:Number> |
Page number. | Number | ✓ | ✓ |
<Page:Reference> |
Page reference. | String | ✓ | ✓ |
<Page:Index> |
Page index. | Number | ✓ | ✓ |
<Page:Layout> |
Page layout. | String | ✓ | ✓ |
<Page:Bookmark:Name> |
Bookmark name. | String | ✓ | ✓ |
<Page:Parent:Reference> |
Parent page reference, (combination of prefix and name). | String | ✓ | ✓ |
<Page:Parent:Prefix> |
Parent page prefix. | String | ✓ | ✓ |
<Page:Parent:Name> |
Parent page name. | String | ✓ | ✓ |
<Page:Colour:Value> |
RGB colour value of the page. | String | ✓ | ✓ |
<Page:Colour:Type> |
Returns 'UI' if the colour is a colour label or 'User' if the colour has been set to a custom RGB value. | String | ✓ | ✓ |
<Page:Layout:Name> |
Parent page reference, (combination of prefix and name). | String | ✓ | ✓ |
<Page:Section:Name> |
Parent page reference, (combination of prefix and name). | String | ✓ | ✓ |
<Page:Section:Prefix> |
Parent page prefix. | String | ✓ | ✓ |
<Page:Section:Marker> |
Parent page name. | String | ✓ | ✓ |
<Page:Width:Value> |
Numeric page width value. | Number | ✓ | ✓ |
<Page:Width:Unit> |
Page width unit (i.e. px or mm). | String | ✓ | ✓ |
<Page:Height:Value> |
Numeric page height value. | Number | ✓ | ✓ |
<Page:Height:Unit> |
Page height unit (i.e. px or mm). | String | ✓ | ✓ |
Reference | Description | Range | Template |
---|---|---|---|
<Date:Weekday> |
Number | Name of the day. | ✓ |
<Date:Day> |
Number | Numeric day of the month. | ✓ |
<Date:Month> |
Number | Numeric month number. | ✓ |
<Date:Year> |
Number | Numeric year. | ✓ |
<Time:Millisecond> |
Number | Current millisecond. | ✓ |
<Time:Second> |
Number | Current second. | ✓ |
<Time:Minute> |
Number | Current minute. | ✓ |
<Time:Hour> |
Number | Current hour. | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Document:Text:XXX:Content> <Layout:Text:XXX:Content> <Section:Text:XXX:Content> <Spread:Text:XXX:Content> <Page:Text:XXX:Content> <Canvas:Text:XXX:Content> |
Named text frame text. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Document:Image:XXX:Name> <Layout:Image:XXX:Name ><Section:Image:XXX:Name> <Spread:Image:XXX:Name> <Page:Image:XXX:Name> <Canvas:Image:XXX:Name> |
Named image file name. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Document:Paragraph:XXX:Content> <Layout:Paragraph:XXX:Content> <Section:Paragraph:XXX:Content> <Spread:Paragraph:XXX:Content> <Page:Paragraph:XXX:Content> <Canvas:Paragraph:XXX:Content> |
Styled paragraph text. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Document:Character:XXX:Content> <Layout:Character:XXX:Content> <Section:Character:XXX:Content> <Spread:Character:XXX:Content> <Page:Character:XXX:Content> <Canvas:Character:XXX:Content> |
Styled character text. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<JPG:Resolution> |
JPG resolution setting. | Number | ✓ | |
<JPG:Quality> |
JPG quality setting. | Number | ✓ | |
<JPG:ColourSpace> |
JPG colour space setting. | String | ✓ | |
<JPG:Encoding> |
JPG encoding setting. | String | ✓ | |
<JPG:AntiAlias> |
JPG anti alias setting. | Y/N | ✓ | |
<JPG:UseDocumentBleed> |
JPG document bleed setting. | Y/N | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<PDF:Preset> |
PDF preset name. | String | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<PNG:Resolution> |
PNG resolution setting. | String | ✓ | |
<PNG:Quality> |
PNG quality setting. | Number | ✓ | |
<PNG:ColourSpace> |
PNG colour space setting. | String | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<EPS:PostScriptLevel> |
EPS PostScript level setting. | String | ✓ | |
<EPS:Colour> |
EPS colour setting. | String | ✓ | |
<EPS:EmbedFonts> |
EPS embed fonts setting. | Y/N | ✓ | |
<EPS:DataFormat> |
EPS data format setting. | Y/N | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Preset:Name> |
Preset name. | String | ✓ | ✓ |
<Preset:Source> |
Preset location name. | String | ✓ | ✓ |
<Preset:Description> |
Preset description. | String | ✓ | ✓ |
<Preset:Author> |
Preset author. | String | ✓ | ✓ |
<Preset:Dirty> |
Has the preset been modified? | String | ✓ | ✓ |
<Preset:Created> |
Creation date. | String | ✓ | ✓ |
<Preset:Modified> |
Modification date. | String | ✓ | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Collections:Count> |
Number of collections. | Number | ✓ | |
<Collections:Exports> |
Number of exports in all collections. | Number | ✓ | |
<Collection:Label> |
Current collection label. | String | ✓ | |
<Collection:Index> |
Current collection number. | Number | ✓ | |
<Collection:Exports> |
Number of exports in the current collection. | Number | ✓ |
Reference | Description | Data | Range | Template |
---|---|---|---|---|
<Exports:Count> |
Total number of exports. | Number | ✓ | |
<Export:Type> |
Current export type. | String | ✓ | |
<Export:Format> |
Current export format. | String | ✓ | |
<Export:Layout> |
Current export layout. | String | ✓ | |
<Export:Index> |
Current export number. | Number | ✓ |
Spacers can be defined by each preset and changed in the modifier UI
Reference | Description | Range | Template |
---|---|---|---|
```<|>``' | Spacer. | ✓ |
Reference | Description | Range | Template |
---|---|---|---|
</> |
Folder path separator. | ✓ |
String tags allow strings to be wrapped inside a tag making them editable my modifier queries.
Reference | Description | Range | Template |
---|---|---|---|
<''> |
String tag. | ✓ |
Thank you for choosing Awesome Exporter. This software is being actively developed and if you're using the extension I'd love to hear your feedback, suggestions or bug reports. If something isn't working, please get in touch via hello@modocodo.com.
© 2024 Modocodo
hello@modocodo.com
Last updated: May 2024.
Stay Awesome.