指定のPDFにウォーターマークのPDFを重ね合わせるAppleScriptです。
これまでにもいろいろ試してきたのですが、不可能ではないものの、再配布が難しかったりアプリケーションに依存していたりで、決定版とはなっていませんでした。
macscripter.netにpeavine氏が投稿したScriptが元になっています。同氏のScriptではcpdfというコマンドラインツールが用いられており、これがなかなかいい感じです。実行時には、cpdfが/usr/local/binに入っている必要があります。Script Bundleの中に入れて呼び出してもよさそうです。
いい感じではあるものの、商用利用は許可されていないとのこと(要、購入)なので、商用利用時にはライセンスを購入すべきでしょう。再配布もできない雰囲気なので、自分のアプリケーション内に入れて呼び出すとかいうのは無理です。
ファイルの複数選択に、自分で作った「choosePathLib」を用いています。NSPathControlにドラッグ&ドロップできるファイル種別を限定できるように作っておけばよかった、と反省しまくりました。
Watermark画像をPDFに重ね合わせる処理については、こういう外部ツールを併用しないでAppleScriptだけで済めばベストですが、、、、
▲処理後のPDF。Watermarkが各ページに重ね合わされていることがわかる
▲処理後のPDFにはPDF Creator情報にcpdfのCopyrightが記入される
AppleScript名:PDFにウォーターマーク画像を重ね合わせる2 |
— – Created by: peavine @macscripter.net – Created on: 2020/06/04 – Modified by: Takaaki Naganoya @ Piyomaru Software – cpdf – https://community.coherentpdf.com use AppleScript version "2.4" — Yosemite (10.10) or later use framework "Foundation" use scripting additions use pLib : script "choosePathLib" –http://piyocast.com/as/asinyaye set mesList to {"Logo PDF", "Source PDF"} set defaultLocList to {"~/Movies", "~/Desktop"} set cRes to choose multiple path main message "Drag & Drop to set target" sub message "" with titles mesList with default locations defaultLocList dialog width 800 set outFile to POSIX path of (choose file name with prompt "Select Output PDF File name") copy cRes to {logoFile, sourceFile} set logoFile to POSIX path of logoFile set sourceFile to POSIX path of sourceFile –check file extension = file type if logoFile does not end with ".pdf" then error "Logo path is not pdf" if sourceFile does not end with ".pdf" then error "Source file is not pdf" if outFile does not end with ".pdf" then error "output path is not pdf" try do shell script "/usr/local/bin/cpdf -stamp-on " & quoted form of logoFile & " -center " & quoted form of sourceFile & " -o " & quoted form of outFile end try |
More from my site
(Visited 150 times, 1 visits today)