C
HAPTER
3: Documents
Basic Document Operations     21
tell application "Adobe InDesign CS5"
--You can use the "showing window" parameter to open files 
--without displaying them. This can speed up many scripting
--operations, and makes it possible for a script to operate
--on a file in the background. To display a document you've
--opened this way, tell the document to create a new window.
--You'll have to fill in your own file path.
set myDocument to open "yukino:myTestDocument.indd" <lb>
without showing window
--At this point, your script could change or get information
--from the hidden document. Once you've done that, you can show
--the document window:
tell myDocument to make window
end tell
Saving a document
In the InDesign user interface, you save a file by choosing File > Save, and you save a file to another file 
name by choosing File > Save As. In InDesign scripting, the 
save
command can do either operation, as 
shown in the following script fragment (from the SaveDocument tutorial script):
--Saves the active document.
--If the active document has been changed since it was last saved, save it.
tell application "Adobe InDesign CS5"
if modified of active document is true then
tell active document to save
end if
end tell
The 
save
command has two optional parameters: The first (
to
) specifies the file to save to; the second 
(
stationery
) can be set to true to save the document as a template, as shown in the following script 
fragment (from the SaveDocumentAs tutorial script):
--If the active document has not been saved (ever), save it.
tell application "Adobe InDesign CS5"
if saved of active document is false then
--If you do not provide a file name, InDesign displays the Save dialog box.
tell active document to save saving in "yukino:myTestDocument.indd"
end if
end tell
You can save a document as a template, as shown in the following script fragment (from the 
SaveAsTemplate tutorial script):
Convert multiple page pdf to tiff - SDK Library API: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 multiple page pdf to tiff - SDK Library API: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
3: Documents
Basic Document Operations     22
--Save the active document as a template.
tell application "Adobe InDesign CS5"
set myDocument to active document
tell myDocument
if saved is true then
--Convert the file name to a string.
set myFileName to full name
set myFileName to my myReplace(myFileName, ".indd", ".indt")
else
--If the document has not been saved, then give it a default file 
--name/file path. You'll have to fill in the file path.
set myFileName to "yukino:myTestDocument.indt"
end if
save to myFileName with stationery
end tell
end tell
on myReplace(myString, myFindString, myChangeString)
set AppleScript's text item delimiters to myFindString
set myTextList to every text item of (myString as text)
set AppleScript's text item delimiters to myChangeString
set myString to myTextList as string
set AppleScript's text item delimiters to ""
return myString
end myReplace
Closing a document
The 
close
command closes a document, as shown in the following script fragment (from the 
CloseDocument tutorial script):
tell application "Adobe InDesign CS5"
close document 1
--document 1 always refers to the front-most document.
--Note that you could also use:
--close active document
end tell
The 
close
command can take up to two optional parameters, as shown in the following script fragment 
(from the CloseWithParameters tutorial script):
tell application "Adobe InDesign CS5"
--Use "saving yes" to save the document,
--or "saving no" to close the document without saving, 
--or "saving ask" to display a prompt. If you use 
--"saving yes",you'll need to provide a reference 
--to a file to save to in the second parameter (saving in).
--If the file has never been saved (it's an untitled file), 
--display a prompt.
if saved of active document is not equal to true then
close active document saving ask
--Or, to save to a specific file name 
--(you'll have to fill in the file path):
--set myFile to "yukino:myTestDocument.indd"
--close active document saving yes saving in myFile
else
--If the file has already been saved to a file, save it.
close active document saving yes
end if
end tell
SDK Library API:C# Create PDF from Tiff Library to convert tif images to PDF in C#
Similarly, Tiff image with single page or multiple pages is supported. Description: Convert to PDF/TIFF with specified zoom value and save it on the disk.
www.rasteredge.com
C
HAPTER
3: Documents
Basic Page Layout     23
You can close all open documents without saving them, as shown in the following script fragment (from 
the CloseAll tutorial script):
tell application "Adobe InDesign CS5"
tell documents to close without saving
end tell
Basic Page Layout
Each document has a default page size, assigned number of pages, bleed and slug working areas, and 
columns and margins to define the area into which material is placed. Again, all these parameters are 
accessible to scripting, as shown in the examples in this section.
Defining page size and document length
When you create a new document using the InDesign user interface, you can specify the default page size, 
number of pages, page orientation, and whether the document uses facing pages. To create a document 
using InDesign scripting, use the 
make
document
command, which does not specify these settings. After 
creating a document, you can use the 
document
preferences
object to control the settings, as shown in 
the following script fragment (from the DocumentPreferences tutorial script):
tell application "Adobe InDesign CS5"
set myDocument to make document
tell document preferences of myDocument
set page height to "800pt"
set page width to "600pt"
set page orientation to landscape
set pages per document to 16
end tell
end tell
N
OTE
: The 
application
object also has a 
document
preferences
object. You can set the application 
defaults for page height, page width, and other properties by changing the properties of this object. You 
can also set individual page sizes; see “Adjusting Page Sizes and Layout”
.
Defining bleed and slug areas
Within InDesign, a bleed or a slug is an area outside the page margins that can be printed or included in an 
exported PDF. Typically, these areas are used for objects that extend beyond the page edges (bleed) and 
job/document information (slug). The two areas can be printed and exported independently; for example, 
you might want to omit slug information for the final printing of a document. The following script shows 
how to set up the bleed and slug for a new document. (For the complete script, see BleedAndSlug.)
SDK Library API:VB.NET PDF File Split Library: Split, seperate PDF into multiple
Separate source PDF document file by defined page range in VB.NET class application. Divide PDF file into multiple files by outputting PDF file size.
www.rasteredge.com
SDK Library API:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
class. Support of converting from any single one PDF page and multiple pages. Change program. Able to convert password protected PDF document.
www.rasteredge.com
C
HAPTER
3: Documents
Basic Page Layout     24
tell application "Adobe InDesign CS5"
--Create a new document.
set myDocument to make document
--The bleed and slug properties belong to the document preferences object.
tell document preferences of myDocument
--Bleed
set document bleed bottom offset to "3p"
set document bleed top offset to "3p"
set document bleed inside or left offset to "3p"
set document bleed outside or right offset to "3p"
--Slug
set slug bottom offset to "18p"
set slug top offset to "3p"
set slug inside or left offset to "3p"
set slug right or outside offset to "3p"
end tell
end tell
Alternately, if all the bleed distances are equal, as in the preceding example, you can use the 
document
bleed
uniform
size 
property, as shown in the following script fragment (from the UniformBleed tutorial 
script):
tell application "Adobe InDesign CS5"
--Create a new document.
set myDocument to make document
--The bleed properties belong to the document preferences object.
tell document preferences of myDocument
--Bleed
set document bleed top offset to "3p"
set document bleed uniform size to true
end tell
end tell
If all the slug distances are equal, you can use the 
document
slug
uniform
size
property, as shown in the 
following script fragment (from the UniformSlug tutorial script):
tell application "Adobe InDesign CS5"
--Create a new document.
set myDocument to make document
--The bleed properties belong to the document preferences object.
tell document preferences of myDocument
--Slug
set document slug uniform size to true
set slug top offset to "3p"
end tell
end tell
In addition to setting the bleed and slug widths and heights, you can control the color used to draw the 
guides defining the bleed and slug. This property is not in the 
document
preferences
object; instead, it is 
in the 
pasteboard
preferences
object, as shown in the following script fragment (from the 
BleedSlugGuideColors tutorial script):
SDK Library API:C# PDF Page Insert Library: insert pages into PDF file in C#.net
Support adding and inserting one or multiple pages to of adding and inserting (empty) PDF page or pages various file formats, such as PDF, Tiff, Word, Excel
www.rasteredge.com
SDK Library API:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Professional .NET PDF control for inserting PDF page in Visual Basic .NET class application. Able to add and insert one or multiple pages to existing adobe PDF
www.rasteredge.com
C
HAPTER
3: Documents
Basic Page Layout     25
tell application "Adobe InDesign CS5"
--Assumes you have a document open.
tell pasteboard preferences of active document
--Any of InDesign's guides can use the UIColors constants...
set bleed guide color to cute teal
set slug guide color to charcoal
--...or you can specify a list of RGB values 
--(with values from 0 to 255)
set bleed guide color to {0, 198, 192}
set slug guide color to {192, 192, 192}
end tell
end tell
Setting page margins and columns
Each page in a document can have its own margin and column settings. With InDesign scripting, these 
properties are part of the 
margin
preferences
object for each page. This following sample script creates a 
new document, then sets the margins and columns for all pages in the master spread. (For the complete 
script, see PageMargins.)
tell application "Adobe InDesign CS5"
set myDocument to make document
tell view preferences of myDocument
set horizontal measurement units to points
set vertical measurement units to points
end tell
tell master spread 1 of myDocument
tell margin preferences of pages
set top to 36
set left to 36
set bottom to 48
set right to 36
end tell
end tell
end tell
To set the page margins for an individual page, use the margin preferences for that page, as shown in the 
following script fragment (from the PageMarginsForOnePage tutorial script):
tell application "Adobe InDesign CS5"
set myDocument to make document
tell view preferences of myDocument
set horizontal measurement units to points
set vertical measurement units to points
end tell
tell margin preferences of page 1 of myDocument
set top to 36
set left to 36
set bottom to 48
set right to 36
end tell
end tell
InDesign does not allow you to create a page that is smaller than the sum of the relevant margins; that is, 
the width of the page must be greater than the sum of the left and right page margins, and the height of 
the page must be greater than the sum of the top and bottom margins. If you are creating very small 
pages (for example, for individual newspaper advertisements) using the InDesign user interface, you can 
SDK Library API:C# Create PDF from images Library to convert Jpeg, png images to
Batch convert PDF documents from multiple image formats, including Jpg image formats into one or multiple PDF file in able to be cropped and pasted to PDF page.
www.rasteredge.com
SDK Library API:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET library to batch convert PDF files to Turn multiple pages PDF into single jpg files respectively of converting from any single one PDF page and multiple
www.rasteredge.com
C
HAPTER
3: Documents
Basic Page Layout     26
easily set the correct margin sizes as you create the document, by entering new values in the document 
default page Margin fields in the New Document dialog box.
From scripting, however, the solution is not as clear: when you create a document, it uses the application’s 
default-margin preferences. These margins are applied to all pages of the document, including master 
pages. Setting the document margin preferences affects only new pages and has no effect on existing 
pages. If you try to set the page height and page width to values smaller than the sum of the 
corresponding margins on any existing pages, InDesign does not change the page size.
There are two solutions. The first is to set the margins of the existing pages before you try to change the 
page size, as shown in the following script fragment (from the PageMarginsForSmallPages tutorial script):
tell application "Adobe InDesign CS5"
set myDocument to make document
tell margin preferences of page 1 of myDocument
set top to 0
set left to 0
set bottom to 0
set right to 0
end tell
tell master spread 1 of myDocument
tell margin preferences of pages
set top to 0
set left to 0
set bottom to 0
set right to 0
end tell
end tell
--At this point, you can set your page size to a small width 
--and height (1x1 picas minimum).
set page height of document preferences of myDocument to "1p"
set page width of document preferences of myDocument to "6p"
end tell
Alternately, you can change the application’s default-margin preferences before you create the document, 
as shown in the following script fragment (from the ApplicationPageMargins tutorial script):
SDK Library API:VB.NET PDF Image Extract Library: Select, copy, paste PDF images
able to perform image extraction from multiple page adobe PDF Extract multiple types of image from PDF file in Scan high quality image to PDF, tiff and various
www.rasteredge.com
C
HAPTER
3: Documents
Basic Page Layout     27
tell application "Adobe InDesign CS5"
tell margin preferences
--Save the current application default margin preferences.
set myY1 to top
set myX1 to left
set myY2 to bottom
set myX2 to right
--Set the application default margin preferences.
set top to 0
set left to 0
set bottom to 0
set right to 0
end tell
--At this point, you can create a new document.
set myDocument to make document
--At this point, you can set your page size to a small width and height 
--(1x1 picas minimum).
set page height of document preferences of myDocument to "1p"
set page width of document preferences of myDocument to "1p"
--Reset the application default margin preferences to their former state.
tell margin preferences
set top to myY1
set left to myX1
set bottom to myY2
set right to myX2
end tell
end tell
Changing the appearance of the pasteboard
The pasteboard is the area that surrounds InDesign pages and spreads. You can use it for temporary 
storage of page items or for job-tracking information. You can change the size of the pasteboard and its 
color using scripting. The 
preview
background
color
property sets the color of the pasteboard in Preview 
mode, as shown in the following script fragment (from the PasteboardPreferences tutorial script):
tell application "Adobe InDesign CS5"
set myDocument to make document
tell pasteboard preferences of myDocument
--You can use either a number or a measurement string to set the 
--space above/below.
set minimum space above and below to "12p"
--You can set the pasteboard background color to any 
--of the predefined UIColor constants...
set preview background color to gray
--...or you can specify an array of RGB values 
--(with values from 0 to 255)
--set preview Background Color to {192, 192, 192}
end tell
end tell
Guides and grids
Guides and grids make it easy to position objects on your document pages. These are very useful items to 
add when you are creating templates for others to use.
C
HAPTER
3: Documents
Basic Page Layout     28
Defining guides
Guides in InDesign give you an easy way to position objects on the pages of your document. The following 
script fragment shows how to use guides. (For the complete script, see Guides.)
tell application "Adobe InDesign CS5"
set myDocument to make document
set myPageWidth to page width of document preferences of myDocument
set myPageHeight to page height of document preferences of myDocument
tell page 1 of myDocument
set myMarginPreferences to margin preferences
--Place guides at the margins of the page.
make guide with properties {orientation:vertical,
location:left of myMarginPreferences}
make guide with properties {orientation:vertical,
location:(myPageWidth - (right of myMarginPreferences))}
make guide with properties {orientation:horizontal, 
location:top of myMarginPreferences}
make guide with properties {orientation:horizontal, 
location:(myPageHeight - (bottom of myMarginPreferences))}
--Place a guide at the vertical center of the page.
make guide with properties {orientation:vertical, 
location:(myPageWidth / 2)}
--Place a guide at the horizontal center of the page.
make guide with properties {orientation:horizontal, 
location:(myPageHeight / 2)}
end tell
end tell
Horizontal guides can be limited to a given page or extend across all pages in a spread. From InDesign 
scripting, you can control this using the 
fit
to
page
property. This property is ignored by vertical guides.
You can use scripting to change the layer, color, and visibility of guides, just as you can from the user 
interface, as shown in the following script fragment (from the GuideOptions tutorial script):
C
HAPTER
3: Documents
Basic Page Layout     29
tell application "Adobe InDesign CS5"
set myDocument to make document
tell myDocument
--Create a layer named "guide layer".
set myLayer to make layer with properties {name:"guide layer"}
--Add a series of guides to page 1.
tell page 1
--Create a guide on the layer we created above.
make guide with properties {orientation:horizontal, <lb>
location:"12p", item layer:myLayer}
make guide with properties {item layer:myLayer, <lb>
orientation:horizontal, location:"14p"}
--Make a locked guide.
make guide with properties {locked:true, <lb>
orientation:horizontal, location:"16p"}
--Set the view threshold of a guide.
make guide with properties {view threshold:100, <lb>
orientation:horizontal, location:"18p"}
--Set the guide color of a guide using a UIColors constant.
make guide with properties {guide color:gray, <lb>
orientation:horizontal, location:"20p"}
--Set the guide color of a guide using an RGB array.
make guide with properties {guide color:{192, 192, 192}, <lb>
orientation:horizontal, location:"22p"}
end tell
end tell
end tell
You also can create guides using the 
create
guides
command on spreads and master spreads, as shown 
in the following script fragment (from the CreateGuides tutorial script):
tell application "Adobe InDesign CS5"
set myDocument to make document
tell spread 1 of myDocument
--Parameters (all optional): row count, column count, row gutter,
--column gutter, guide color, fit margins, remove existing, layer.
--Note that the create guides command does not take an RGB 
--array for the guide color parameter.
create guides number of rows 4 number of columns 4 row gutter "1p"   <lb>
column gutter "1p" guide color gray with fit margins and remove existing
end tell
end tell
Setting grid preferences
To control the properties of the document and baseline grid, you set the properties of the 
grid
preferences
object, as shown in the following script fragment (from the DocumentAndBaselineGrid 
tutorial script):
C
HAPTER
3: Documents
Basic Page Layout     30
tell application "Adobe InDesign CS5"
set myDocument to make document
set horizontal measurement units of view preferences of myDocument to points
set vertical measurement units of view preferences of myDocument to points
tell grid preferences of myDocument
set baseline start to 56
set baseline division to 14
set baseline grid shown to true
set horizontal gridline division to 14
set horizontal grid subdivision to 5
set vertical gridline division to 14
set vertical grid subdivision to 5
set document grid shown to true
end tell
end tell
Snapping to guides and grids
All snap settings for a document’s grids and guides are in the properties of the 
guide
preferences
and 
grid
preferences
objects. The following script fragment shows how to set guide and grid snap 
properties. (For the complete script, see GuideGridPreferences.)
tell application "Adobe InDesign CS5"
set myDocument to active document
tell guide preferences of myDocument
set guides in back to true
set guides locked to false
set guides shown to true
set guides snapto to true
end tell
tell grid preferences of myDocument
set document grid shown to false
set document grid snapto to true
--Objects "snap" to the baseline grid when guidePreferences.guideSnapTo 
--is set to true.
set baseline grid shown to true
end tell
end tell
Changing measurement units and ruler
Thus far, the sample scripts used measurement strings, strings that force InDesign to use a specific 
measurement unit (for example, “8.5i” for 8.5 inches). They do this because you might be using a different 
measurement system when you run the script.
To specify the measurement system used in a script, use the document’s 
view
preferences
object, as 
shown in the following script fragment (from the ViewPreferences tutorial script):
Documents you may be interested
Documents you may be interested