Skip to content

Documentation, Terms & Conditions and Privacy Policy for Awesome Exporter, an extension for Adobe InDesign.

Notifications You must be signed in to change notification settings

modocodo-studio/awesome-exporter-documents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Awesome Exporter


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


Awesome Exporter UI



Key Features

Range Queries

  • 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.

Naming Templates

  • 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.

Export Formatting

  • 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.

Presets

  • 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 UI Preview & Tag Builders

  • Live previews show your folders and files before exporting.
  • Tag builder interfaces help create range queries and filename templates.



User Guide

Range Queries & Range Tags

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.

Awesome Exporter Range Builder UI


Standard Query Examples

  • 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 section One in layout A4.

Document layouts, sections, and page references are all listed for easy selection in the Range Builder UI.


Queries Using Tags

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.


Basic Selector Tags

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 Tag Overview

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.


Tag Types

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.


Attribute Tag Operators

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 Tag Operators

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.

Tag Operator Examples in Range Queries

  • 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 Tag Statements

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.


Extend To Start & Extend To End

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.

Constant and Variable Layer Tags

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.

Filter Tag

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.

Flag Tag

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.

Arrange Tag

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

Sort Tag

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 PDF
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

Query Collections

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.


Collect Tags

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>


Template Tag Overview

Awesome Exporter Template Builder UI

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.


Template Tag Data Lookbacks

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.


Conditional Template Tags

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 Tag Labelling

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.


Validity Checking (Tag Linking)

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

Awesome Exporter Range Builder UI

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.


Modifier Targets

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.

Modifier Function Reference

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.

Modifier Function Examples

  • 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 Tags

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

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 If Conditions

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'>



Presets and Preset Locations

Awesome Exporter Range Builder UI

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.


Preset Locations

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.



InDesign Document Structure Notes

Awesome Exporter Example Page Structure

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.



Tag Reference

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.

Selectors

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.

Functions

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.

System

Reference Description Data Range Template
<System:Type> System type ID. String
<System:User> System user name. String

Host

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

App

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

Folder

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

Folder

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

File

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

XMP

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

Variables

Reference Description Data Range Template
<Variable:XXX> File name String

Content Containers

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

Layers

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.

Preset Details

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

Collections and Exports

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

Spread Attributes

Reference Description Data Range Template
<Spread:Pages> Number of pages in the spread.
<Spread:Index> Current spread number.

Page Attributes

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

Date and Time

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.

Text Frames

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

Images

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

Paragraphs

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

Characters

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

JPG Related Tags

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

PDF Related Tags

Reference Description Data Range Template
<PDF:Preset> PDF preset name. String

PNG Related Tags

Reference Description Data Range Template
<PNG:Resolution> PNG resolution setting. String
<PNG:Quality> PNG quality setting. Number
<PNG:ColourSpace> PNG colour space setting. String

EPS Related Tags

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

Preset Tags

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

Collection

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

Export Tags

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

Spacers can be defined by each preset and changed in the modifier UI

Reference Description Range Template
```<|>``' Spacer.

Folder & File Separators

Reference Description Range Template
</> Folder path separator.

String Wrapper

String tags allow strings to be wrapped inside a tag making them editable my modifier queries.

Reference Description Range Template
<''> String tag.

Thank You

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.

About

Documentation, Terms & Conditions and Privacy Policy for Awesome Exporter, an extension for Adobe InDesign.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published