C
HAPTER
10: Working with Preflight
Available Rules     161
ADBE_PageSizeOrientation
ADBE_ScaledGraphics
ADBE_ScaledType
ADBE_SmallText
ADBE_SpotColorSetup
Data Type
Name
Default value
Real
height
792
Boolean
ignore_orientation
false
Real
tolerance
0.01
Real
width
612
Data Type
Name
Default value
Real
max_scale
100.5
Data Type
Name
Default value
Boolean
ignore_justification
true
Real
max_scale
100.5
Data Type
Name
Default value
Real
minSize
4
Boolean
minSize_trap_safe_only
false
Data Type
Name
Default value
Boolean
lab_spots
true
Boolean
lab_spots_enabled
false
Integer
max_spots
1
Boolean
max_spots_enabled
true
Convert pdf to tiff online - Library control class:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net, ASP.NET MVC, Ajax, WinForms, WPF
Online C# Tutorial for How to Convert PDF File to Tiff Image File
www.rasteredge.com
Convert pdf to tiff online - Library control class:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.net, ASP.NET MVC, Ajax, WinForms, WPF
Free VB.NET Guide to Render and Convert PDF Document to TIFF
www.rasteredge.com
C
HAPTER
10: Working with Preflight
Available Rules     162
ADBE_StrokeRequirements
ADBE_TextOverrides
ADBE_TransparencyBlending
Data Type
Name
Default value
Real
min_width
0.125
Boolean
min_width_trap_safe_only
false
Data Type
Name
Default value
Boolean
ignore_color_overrides
false
Boolean
ignore_font_overrides
false
Boolean
ignore_kerning_tracking_overrides
false
Boolean
ignore_language_overrides
false
Data Type
Name
Default value
Integer
space
3
Library control class:Online Convert PDF file to Tiff. Best free online PDF Tif
Online PDF to Tiff Converter. Download Free Trial. Convert a PDF File to Tiff. Just upload your file by clicking on the blue button
www.rasteredge.com
Library control class:Online Convert PDF file to Word. Best free online PDF Conversion
Online Tiff to PDF Converter. Download Free Trial. Convert a Tiff/Tif File to PDF. Just upload your file by clicking on the blue button
www.rasteredge.com
163
11
Creating Dynamic Documents
InDesign can create documents for web and online use, also known as Rich Interactive Documents (RID). 
Dynamic documents contain sounds, animations, hyperlinks, and other interactive content. InDesign 
documents can be exported to SWF, XFL, or PDF. For SWF and XFL files, documents can include animations, 
buttons, multistate objects, movies, and sound clips. You can use the Preview panel in InDesign to test 
some types of dynamic content before exporting.
This chapter shows how to create dynamic documents using scripting. For more on exporting as PDF, SWF, 
and XFL, refer to the “Working with Documents” chapter.
Importing Movies and Sounds
InDesign can import movie and sound files that can then be viewed or listened to in exported PDF, SWF, or 
XFL documents. Movies and sounds in an InDesign document are very similar to graphics in that they exist 
inside container objects on an InDesign page. Unlike graphics, however, you cannot see (or hear) the 
content of the imported multimedia files on an InDesign page. For that, you'll need to either view the page 
in the Preview panel, or export the file, then open the file in a viewer capable of displaying the content 
(such as Acrobat Reader or a web browser).
Scripts can control the playback properties of a sound or movie in an exported dynamic document. You 
can also add a preview, or “poster,” image to the page item containing the sound or movie.
The following script fragment shows how to import a movie and control the way that the movie is shown 
and played in an exported document (for the complete script, refer to PlaceMovie).
--Given a page "myPage"... 
tell myPage
set myFrame to make rectangle with properties {geometric bounds:{72, 72, 288, 288}}
end tell
--Import a movie file (you'll have to provide a valid file path on your system)
tell myFrame to place file "hazuki:movie.flv"
set myMovie to movie 1 of myFrame
--Set movie properties.
set embed in PDF of myMovie to true
set show controls of myMovie to true
get properties of myMovie
--Add a preview image. You'll have to provide a valid path on your system.
set poster file of myMovie to "hazuki:movie poster.jpg"
The following script fragment shows how to import a sound file and control the playback and display of 
the sound in an exported document (for the complete script, refer to PlaceSound).
Library control class:Online Convert Excel to PDF file. Best free online export xlsx
Online Excel to PDF Converter. Download Free Trial. Convert a Excel File to PDF. Drag and drop your excel file into the box or click
www.rasteredge.com
Library control class:VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
Word, C# extract text from PDF, C# convert PDF to Jpeg, C# compress PDF, C# print PDF, C# merge PDF files, C# view PDF online, C# convert PDF to tiff, C# read
www.rasteredge.com
C
HAPTER
11: Creating Dynamic Documents
Creating Buttons     164
--Given a page "myPage" in a document "myDocument..." 
--Import a sound file (you'll have to provide a valid file path on your system)
tell myPage
set mySound to place file "hazuki:sound.mp3" place point {72, 72}
end tell
set mySound to item 1 of mySound
tell mySound
set embed in PDF to true
set do not print poster to true
set sound loop to true
set stop on page turn to true
end tell
--Add a preview image. You'll have to provide a valid path on your system.
set poster file of mySound to "hazuki:sound poster.jpg"
Buttons can be used to control the playback of sounds and movies. For information on how to script 
buttons, see the next section.
Creating Buttons
Buttons are often used for navigation in dynamic documents. Buttons contain three states, known as 
“Normal,” “Rollover,” and “Click,” which, in turn, can contain page items such as rectangles, ovals, text 
frames, or images. The button can display only one state at a time; the other states are displayed when 
triggered by mouse actions.
Behaviors control what the button does when you perform a specific mouse action. Behaviors correspond 
to the Actions shown in the Buttons panel in InDesign’s user interface. Buttons can contain multiple 
behaviors.
The following script fragment shows how to create a simple button that displays the next page in an 
exported PDF or SWF (for the complete script, refer to SimpleButton). This button makes use of only the 
Normal state.
--Given a page "myPage" and a document containing the color "Red"...
--Make a button by converting a page item.
tell myPage
set myRightArrow to make polygon with properties {fill color:"Red",
name:"GoToNextPageButton"}
set entire path of path 1 of myRightArrow to {{72, 72}, {144, 108}, {72, 144}}
set myButton to make button with properties {geometric bounds:{72, 72, 144, 144}}
end tell
tell state 1 of myButton
add items to state pageitems {myRightArrow}
end tell
tell myButton
set myGoToNextPageBehavior to make goto next page behavior 
with properties {behavior event:mouse up}
end tell
The following script fragment shows how to create a somewhat more complicated button, containing 
page items that change the appearance of each of the three button states. For the complete script, refer to 
ButtonStates.
Library control class:C# HTML5 PDF Viewer SDK to convert and export PDF document to
Word, C# extract text from PDF, C# convert PDF to Jpeg, C# compress PDF, C# print PDF, C# merge PDF files, C# view PDF online, C# convert PDF to tiff, C# read
www.rasteredge.com
Library control class:XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. Online Demo See the HTML5 Viewer SDK for .NET in powerful & profession imaging controls, PDF document, image to
www.rasteredge.com
C
HAPTER
11: Creating Dynamic Documents
Creating Buttons     165
--Given a page "myPage" in a document "myDocument," containing the colors
--"Blue" and "Red"...
--Make a button "from scratch."
tell page 1 of myDocument
set myButton to make button with properties {geometric bounds:{72, 72, 144, 144},
name:"GoToNextPageButton"}
end tell
tell state 1 of myButton
set myRightArrow to make polygon with properties {fill color:color "Red" of 
myDocument, stroke color:"None"}
set entire path of path 1 of myRightArrow to {{72, 72}, {144, 108}, {72, 144}}
end tell
--Add the Rollover state.
tell myButton
set myRolloverState to make state
end tell
tell myRolloverState
set myRolloverArrow to make polygon with properties {fill color:color "Red" 
of myDocument, stroke color:"None"}
set entire path of path 1 of myRolloverArrow to {{72, 72}, {144, 108}, {72, 144}}
--Add a shadow to the polygon in the Rollover state.
end tell
tell drop shadow settings of fill transparency settings of myRolloverArrow
set mode to drop
set angle to 90
set x offset to 0
set y offset to 0
set size to 6
end tell
tell myButton
set myClickState to make state
end tell
tell myClickState
set myClickArrow to make polygon with properties {fill color:color "Blue" 
of myDocument, stroke color:"None"}
set entire path of path 1 of myClickArrow to {{72, 72}, {144, 108}, {72, 144}}
end tell
--Set the behavior for the button.
tell myButton
set myGoToNextPageBehavior to make goto next page behavior 
with properties {behavior event:mouse up}
end tell
Buttons can be used to control the playback of movie and sound files. The following script fragment shows 
an example of using a set of buttons to control the playback of a moving file (for the complete script, refer 
to MovieControl). 
Library control class:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET library to batch convert PDF files to jpg image files. Turn multiple pages PDF into single jpg files respectively online.
www.rasteredge.com
Library control class:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Word, C# extract text from PDF, C# convert PDF to Jpeg, C# compress PDF, C# print PDF, C# merge PDF files, C# view PDF online, C# convert PDF to tiff, C# read
www.rasteredge.com
C
HAPTER
11: Creating Dynamic Documents
Creating Buttons     166
--Given a page "myPage" in a document "myDocument," 
--containing the colors "Gray" and "Red"...
tell myPage
set myFrame to make rectangle with properties {geometric bounds:{72, 72, 288, 288}}
--Import a movie file (you'll have to provide a valid file path on your system)
tell myFrame to place file "hazuki:movie.flv"
--Create the movie "Start" button.
set myPlayButton to make button with properties {geometric bounds:
{294, 186, 354, 282}, name:"PlayMovieButton"}
tell myPlayButton
set myRightArrow to make polygon with properties {fill color:color "Gray" 
of myDocument, stroke color:"None"}
end tell
set entire path of path 1 of myRightArrow to {{186, 294}, {186, 354}, {282, 324}}
--Add the Rollover state.
tell myPlayButton
set myRolloverState to make state
end tell
--Add a shadow to the polygon in the Rollover state.
tell myRolloverState
set myRolloverArrow to make polygon with properties {fill color:color "Gray" 
of myDocument, stroke color:"None"}
end tell
set entire path of path 1 of myRolloverArrow to {{186, 294}, {186, 354}, {282, 324}}
tell drop shadow settings of fill transparency settings of myRolloverArrow
set mode to drop
set angle to 90
set x offset to 0
set y offset to 0
set size to 6
end tell
tell myPlayButton
set myClickState to make state
end tell
tell myClickState
set myClickArrow to make polygon with properties {fill color:color "Red" 
of myDocument, stroke color:"None"}
end tell
set entire path of path 1 of myClickArrow to {{186, 294}, {186, 354}, {282, 324}}
--Set the behavior for the button.
tell myPlayButton
set myMovieStartBehavior to make movie behavior with properties {movie item:
movie 1 of myFrame, behavior event:mouse up, operation:play}
end tell
--Create the movie "Stop" button.
set myStopButton to make button with properties {geometric bounds:
{294, 78, 354, 174}, name:"StopMovieButton"}
tell state 1 of myStopButton
set myNormalRectangle to make rectangle with properties {geometric bounds:
{294, 78, 354, 174}, fill color:color "Gray" of myDocument}
end tell
tell myStopButton
set myRolloverState to make state
end tell
tell myRolloverState
set myRolloverRectangle to make rectangle with properties {geometric bounds:
{294, 78, 354, 174}, fill color:color "Gray" of myDocument}
end tell
tell drop shadow settings of fill transparency settings of myRolloverRectangle
set mode to drop
C
HAPTER
11: Creating Dynamic Documents
Creating Multistate Objects     167
set angle to 90
set x offset to 0
set y offset to 0
set size to 6
end tell
tell myStopButton
set myClickState to make state
end tell
tell myClickState
set myClickRectangle to make rectangle with properties {geometric bounds:
{294, 78, 354, 174}, fill color:color "Red" of myDocument}
end tell
tell myStopButton
set myMovieStopBehavior to make movie behavior with properties {movie item:
movie 1 of myFrame, behavior event:mouse up, operation:stop}
end tell
end tell
Buttons are also important in controlling the appearance of multistate objects, as we’ll demonstrate in the 
next section.
Creating Multistate Objects
Multistate objects (or MSOs) are similar to buttons in that they contains states, and that only one state can 
be visible at a time. They are unlike buttons in that they can contain any number of states; buttons can 
contain three states, at most. Multistate objects rely on buttons to change the way they display their 
states.
The following script fragment shows how to create a simple multistate object and add a button to control 
the display of the states in the object (for the complete script, refer to MakeMultiStateObject).
--Given a document "myDocument" and a page "myPage" and
--four colors "myColorA," "myColorB," "myColorC," and "myColorD"...
tell myPage
set myMSO to make multi state object with properties {name:"Spinner", 
geometric bounds:{72, 72, 144, 144}}
--New multistate objects contain two states when they're created. Add two more.
tell myMSO
set name of state 1 to "Up"
set name of state 2 to "Right"
make state with properties {name:"Down"}
make state with properties {name:"Left"}
end tell
--Add page items to the states.
tell state 1 of myMSO
set myPolygon to make polygon with properties {fill color:myColorA, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 144}, {144, 144}, {108, 72}}
end tell
tell state 2 of myMSO
C
HAPTER
11: Creating Dynamic Documents
Creating Multistate Objects     168
set myPolygon to make polygon with properties {fill color:myColorB, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 72}, {72, 144}, {144, 108}}
end tell
tell state 3 of myMSO
set myPolygon to make polygon with properties {fill color:myColorC, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 72}, {108, 144}, {144, 72}}
end tell
tell state 4 of myMSO
set myPolygon to make polygon with properties {fill color:myColorD, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{144, 72}, {72, 108}, {144, 144}}
end tell
end tell
Typically, you’ll control the display of the states in a multistate object using a button. The following script 
fragment shows how to do this (for the complete script, refer to MultiStateObjectControl).
--Given a document "myDocument" and a page "myPage" and
--four colors "myColorA," "myColorB," "myColorC," and "myColorD"...
tell myPage
set myMSO to make multi state object with properties {name:"Spinner", 
geometric bounds:{72, 72, 144, 144}}
--New multistate objects contain two states when they're created. Add two more.
tell myMSO
set name of state 1 to "Up"
set name of state 2 to "Right"
make state with properties {name:"Down"}
make state with properties {name:"Left"}
end tell
--Add page items to the states.
tell state 1 of myMSO
set myPolygon to make polygon with properties {fill color:myColorA, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 144}, {144, 144}, {108, 72}}
end tell
tell state 2 of myMSO
set myPolygon to make polygon with properties {fill color:myColorB, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 72}, {72, 144}, {144, 108}}
end tell
tell state 3 of myMSO
set myPolygon to make polygon with properties {fill color:myColorC, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{72, 72}, {108, 144}, {144, 72}}
end tell
tell state 4 of myMSO
set myPolygon to make polygon with properties {fill color:myColorD, 
stroke color:"None"}
set entire path of path 1 of myPolygon to {{144, 72}, {72, 108}, {144, 144}}
end tell
set myButton to make button with properties {geometric bounds:{72, 72, 144, 144}}
tell myButton
set myRolloverState to make state
set myClickState to make state
set myNextStateBehavior to make goto next state behavior with 
properties {associated multi state object:myMSO, behavior event:mouse down,
enable behavior:true, loops to next or previous:true}
end tell
C
HAPTER
11: Creating Dynamic Documents
Working with Animation     169
tell myRolloverState
set myRolloverRectangle to rectangle 1 of group 1
end tell
set stroke color of myRolloverRectangle to myColorD
set stroke weight of myRolloverRectangle to 1
set myStrokeTransparencySettings to stroke transparency settings of
myRolloverRectangle
set myDropShadowSettings to drop shadow settings of myStrokeTransparencySettings
tell myDropShadowSettings
set mode to drop
set angle to 90
set x offset to 0
set y offset to 0
set size to 6
end tell
end tell
Working with Animation
Page items can be animated, adding motion to the dynamic documents you create using InDesign. You 
apply animation to objects using motion presets, define the movement of animated objects using motion 
paths, and control the duration of the animation using timing settings, timing lists, and timing groups.
The 
animation settings
of an object control the animation that will be applied to the object. When 
animation settings have been applied to an object, InDesign sets the 
has custom settings
property of 
the object to true; if the object is not to be animated, this property is false. 
The point at which an animation begins to play, relative to the event that triggers the animation, is 
controlled by the objects and properties of the 
timing settings
object attached to the page item or to 
one of its parent containers (usually the spread).
Basic animation
The following script fragment shows how to create a simple animation (for the complete script, refer to 
SimpleAnimation). The most basic forms of animation can be applied without using timing settings.
--Given a document "myDocument" and a page "myPage" and a color "myColorA"...
--Add a page items to animate.
tell myPage
set myPolygon to make polygon with properties {fill color:myColorA, 
stroke color:"None"}
end tell
set entire path of path 1 of myPolygon to {{72, 72}, {72, 144}, {144, 108}}
--Create a motion path.
set myMotionPathPoints to {{{{108, 108}, {108, 108}, {108, 108}}, {{516, 108}, 
{516, 108}, {516, 108}}}, true}
--Set animation preferences for the polygon. We havent' set a dynamic trigger
--for the animation, so the polygon's animation will be triggered by 
--on page load (the default).
tell animation settings of myPolygon
set duration to 2
set motion path points to myMotionPathPoints
end tell
C
HAPTER
11: Creating Dynamic Documents
Working with Animation     170
TimingSettings
The 
timing settings
objects of spreads, pages, and page items control the timing of the animation(s) 
applied to the object and to any objects contained by the object. 
timing settings
contain:
X
timing lists
, which define the trigger event (page load, page click, and so on) that start the 
animation.
X
timing groups
, which associate a page item or series of page items with a specific timing and define 
the sequence in which animations are shown.
timing groups
contain 
timing targets
, which define the objects associated with a given 
timing 
group
timing targets
also specify a delay value for the animation applied to the page item, relative to 
the start of the animation of the 
timing group
(for the first item in the 
timing group
), or from the start of 
the previous item in the 
timing group
(for other items in the 
timing group
).
The following script fragment shows how to control the timing of the animation of an object using the 
various timing objects (for the complete script, refer to TimingSettings). Note that the parameters used to 
create a 
timing group
specify the properties of the first 
timing target
in the 
timing group
subsequent 
timing targets
, if any, can be added separately.
--Given a document "myDocument" and a page "myPage" and the color "myColorA",
--"myColorB", and "myColorC"...
--Add a page items to animate.
tell myPage
set myPolygonA to make polygon with properties {fill color:myColorA,
strokeColor:"None"}
set entire path of path 1 of myPolygonA to {{72, 72}, {72, 144}, {144, 108}}
set myPolygonB to make polygon with properties {fill color:myColorB,
strokeColor:"None"}
set entire path of path 1 of myPolygonB to {{72, 72}, {72, 144}, {144, 108}}
set myPolygonC to make polygon with properties {fill color:myColorC,
strokeColor:"None"}
set entire path of path 1 of myPolygonC to {{72, 72}, {72, 144}, {144, 108}}
end tell
--Create a motion path.
set myMotionPathPoints to {{{{108, 108}, {108, 108}, {108, 108}}, {{516, 108}, 
{516, 108}, {516, 108}}}, true}
--Set animation preferences for the polygons.
tell animation settings of myPolygonA
set duration to 2
set motion path points to myMotionPathPoints
end tell
tell animation settings of myPolygonB
set duration to 2
set motion path points to myMotionPathPoints
end tell
tell animation settings of myPolygonC
set duration to 2
set motion path points to myMotionPathPoints
end tell
set myTimingSettings to timing settings of parent of myPage
Documents you may be interested
Documents you may be interested