PDFClerk Pro is largely, but not fully scriptable with Applescript (and Ruby, and Python using the appropriate scripting bridges). Scripters should consult the PDFClerk Pro scripting dictionary to inform themselves of its scripting capabilities.
Documents and imposition templates are mostly scriptable. Watermarks are not yet scriptable although this is likely to follow in a later release.
Some sample scripts:
tell application "PDFClerk Pro"
tell document 1
select from character 2501 through character 3400
strike through selection
select occurrences of "good"
underline selection with color {35535, 35000, 65535}
tell page 2
select occurrences of "fantastic"
highlight selection
end tell
set x to every page whose unstyled text body contains "some text"
end tell
end tell
|
tell application "PDFClerk Pro"
--set scriptingAlias to alias "/Users/antonionunes/Desktop/scripting.pdfp"
set scriptingAlias to alias "Narayan:Users:antonionunes:Desktop:scripting.pdfp"
open scriptingAlias
tell document 1
set p1 to page 1
set p2 to make new page with properties {label:"kha"}
tell p1
set link 1 to the first dynamic annotation
tell the mouse up action of the first dynamic annotation to set the destination to {target page:p1, target point:{11, 12}}
set d0 to the destination of the mouse up action of the first dynamic annotation
tell the first dynamic annotation
set theAction to the mouse up action
set actionClass to the class of theAction
set t to the action type of theAction
if t is "URL" or t is "URI" then
set u to the URL of theAction
else if t is "GoTo" then
tell theAction
set the destination to {target page:p2, target point:{7, 9}}
set d1 to the destination
set the destination to {target page:p1, target point:{100, 250}}
set d2 to the destination
end tell
else if t is "GoToR "then
set pageIndex to the page index of theAction
set pt to the point of theAction
set u to the URL of theAction
set the point of theAction to {10, 20}
endif
end tell
endtell
end tell
end tell
|
set rect1 to make new dynamic rectangle with properties
{bounds:{100, 100, 80, 120}, border style:dashed, line width:9, dash pattern:{5, 2, 9, 2}}
set oval1 to make new dynamic oval with properties
{bounds:{200, 100, 80, 120}, interior color:orangeColor}
set line1 to make new dynamic line with properties
{bounds:{200, 100, 80, 120}, modification date:(current date) - 9 * minutes, should display:yes, should print:no, color:{30000, 10000, 60000}, contents:"Hello world!"}
set line2 to make new dynamic line with properties
{bounds:{300, 100, 80, 120}, start point:{10, 20}, end point:{80, 118}, shape start:square, shape end:closed arrow, interior color:{30000, 10000, 40000}, line width:9.25}
set choice1 to make new choice widget with properties
{bounds:{400, 20, 80, 120}, background color:orangeColor, choices:{"1", "2", "Haha"}, choice:"Haha", field name:"My field name", show as list:yes, font color:orangeColor}
set button to make new button widget with properties
{bounds:{400, 20, 80, 120}, field name:"My field name", font color:orangeColor, caption:"Carnation", control type:push button, state:0, on state value:"Nice!"}
set ftext to make new note widget with properties
{bounds:{40, 400, 64, 64}, contents:"Please open the door.", icon type:key icon}
set formField to make new form field with properties
{bounds:{40, 400, 164, 24}, maximum length:4, string value:"My default", field name:"R2d2"} delete formField
|
tell application "PDFClerk Pro"
tell document 1
sort pages by label value direction descending
sort pages by label value direction ascending
sort pages by source name value direction ascending
end tell
end tell
|
tell the mouse up action of the first dynamic annotation to set the destination to
{target page:p1, target point:{11, 12}}
|