Acrobatでカスタムスタンプをjavascriptを使用して貼り付ける(要Professional版)

Acrobat でjavascript操作をすることについてとても分かりづらかったのでメモ。

環境

Adobe Acrobat 2017 Professional

背景

文書作成時、「縦横比を変えてはならない」ロゴを貼り付け印刷する必要があるのですが、

Excelで書類を作っていた際、印刷(プレビュー含む)すると、なぜか画像の縦横比が変化するという事象が発生。

どうやらネット検索すると昔からある事象のようで、

・Excelシートの「標準フォントを初期から変更する」ことが原因

・元のフォントに戻しても事象は解決しない(一から作り直して標準フォントを変えなければ大丈夫)

・Excelのバージョンを上げたりすると標準フォントが切り替わり、ずれが再発するらしい

・実はWordでも発生するらしい

というわけでMicrosoft製品での対応が無理と判断しました。

書類はAcrobatでpdf出力するので、その際に位置を指定して貼り付けすれば解決…!

と思ったのですが、その手順がなかなかわからず調べた次第です。

 

具体的手順

ダイナミックスタンプを普通に作る。

javascriptデバッガーを開く

作ったダイナミックスタンプを選択し、デバッガーで以下コマンドを実行

this.selectedAnnots[0].AP

(実行には、コマンドを入力後、Ctrl + Enter(Windowsの場合)でOK

https://community.adobe.com

In PDF form, Java script for inserting dynamic stamp "Receiv…

結果出力をコピー(例えば、#ESbKmMeG7LxzgZAWh3auID のような出力が出る)

以下スクリプトを実行する。

 

this.addAnnot({
    page: 0,
    type: "Stamp",
    author: "User Name",
    name: "myStamp",
    rect: [400, 400, 550, 500],
    contents: "コメントを書く",
    AP: "#ESbKmMeG7LxzgZAWh3auID" });

APの部分に貼り付けたいスタンプのAPを貼り付けることがポイント。

typeは”Stamp”固定。これはAdobeの公式リファレンスのマニュアルより。

 

Acrobat javascript公式(Annotation-Typesの部分)

Learn how to integrate PDF products and features in your app…

上記コードはAP部分除いてほとんどサンプルそのまま。

 

以上、お疲れさまでした。

 

その他参考(Custom Stampがローカルに保存される場所)

In this infographic, learn how to create a custom dynamic st…

 

以下は基本操作等の参考

Qiita

※この記事は文系的冗長性及び反知性的曖昧主義に支配されています^1。プレ金を、きっかけに!〜とあるプレミアムフライデー^…

Qiita

はじめにこんにちは。建築関係の仕事をしている普通のサラリーマンです。仕事上、Acrobatを使用してPDF形式の図面や文…