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