まずAcrobatでPDFを開きページ数を数えます。そのあとでInDesignのドキュメントにPDFを1ページづつ配置していきます。さきほどのEPS配置と良く似ていますがPDFの処理が付け加えられています。
set myPer to 100
set NURI to 3 --塗り足し(0にすると塗り足しなし)
set ANS to display dialog "ドキュメントの何ページ目から配置しますか?" ¬
default answer "1"
set inddPage to text returned of ANS
set inddPage to inddPage as integer
set pdfPage to 1
set inputFile to choose file with prompt "pdfファイルを選択"
set Fkind to kind of (info for inputFile)
if Fkind is "PDF 書類" or Fkind is "Adobe PDF document" then
--AcrobatでPDFを開きページ数を数える
tell application "Adobe Acrobat 7.0 Professional"
open inputFile
set AllPage to count page of document 1
close document 1
end tell
repeat AllPage times --AllPage分繰り返す。
set myError to my setEPS(pdfPage, inddPage, inputFile, NURI, myPer)
set pdfPage to pdfPage + 1
set inddPage to inddPage + 1
if myError is "ERROR" then
exit repeat
end if
end repeat
end if
--オリジナル関数setEPSの宣言
on setEPS(pdfPage, inddPage, inputFile, NURI, myPer)
--ここより下でend tryより上を試す(エラーが出ても止まらないようにするため)
try
--"Adobe InDesign CS2_J"を呼ぶ
tell application "Adobe InDesign CS2_J"
set page number of PDF place preferences to pdfPage
set PDF crop of PDF place preferences to crop media
--"最前面のドキュメント"を呼ぶ
tell active document
--もし変数myPageのページが存在しないなら
if not (exists of page inddPage) then
--最後にページをつくる
make page at end
end if
--ページの領域を変数myBに入れる{Y1,X1,Y2,X2}で返ってくる
set myB to bounds of page inddPage
--Y1より変数NURIを引いた分だけ変数Yに入れる
set Y to (item 1 of myB) - NURI
--X1より変数NURIを引いた分だけ変数Xに入れる
set X to (item 2 of myB) - NURI
--Y2よりY1を引き変数NURI*2を足した分だけ変数Hに入れる
set H to (item 3 of myB) - (item 1 of myB) + NURI * 2
--X2よりX1を引き変数NURI*2を足した分だけ変数Wに入れる
set W to (item 4 of myB) - (item 2 of myB) + NURI * 2
--"ページ"変数myPageを呼ぶ
tell page (inddPage)
--画像ボックスを作り変数myRectに入れる
--(画像ボックスのプロパティは領域{Y, X, Y + H, X + W}、
--線幅0mm、ぬりなし、線の色もなし)
set myRect to make rectangle at beginning with properties¬
{geometric bounds:{Y, X, Y + H, X + W}, stroke weight:0, ¬
fill color:"None", stroke color:"None"}
--変数myRectの中にinputFileを配置し結果を変数EPSobjに入れる
set PDFobj to place inputFile on myRect
--EPSobjを呼ぶ
tell PDFobj
--水平方向の比率と垂直方向の比率を変数myPerにする
set properties to {vertical scale:myPer, horizontal scale:myPer}
end tell
--myRectにセンター揃えの命令を送る
fit myRect given center content
end tell
end tell
end tell
return ""
on error
return "ERROR"
end try
end setEPS
コメントする