Skip to main content
Participating Frequently
November 26, 2025
Question

フォームのOKボタンを押すだけで文字列を丸で囲む方法について

  • November 26, 2025
  • 1 reply
  • 319 views

全国健康保険協会が提供している傷病手当金支給申請書(PDF)には、フォームコンポーネントのOKボタンをクリックするだけで文字列を丸で囲む機能が実装されています。
(PDF直リンク)https://www.kyoukaikenpo.or.jp/~/media/Files/honbu/g2/cat230/kenkouhokenkyuufu/k_shoute_n2505.pdf

上記PDFの振込先指定口座欄の「銀行」や「金庫」等の文字列をクリックすると、丸で当該文字列を囲む動作になっています。どうすればこのような機能を実装できるのか、ご存じの方がおりましたら教えてください。

1 reply

Omachi
Legend
November 26, 2025

Acrobat JavaScriptを使っています。私は環境設定でJavaScriptを無効にしているので、このような画面になります。

JavaScriptは情報があまりないのですが、公式のページはここからかなと思います。

https://helpx.adobe.com/jp/acrobat/using/add-debug-javascript.html

ボタンをクリックすることでJavaScriptが動作し、ボタンの周囲にカプセル状の線を表示し、既に表示されている線があればそれを非表示にすることをやっていると思われます。

K458Author
Participating Frequently
November 27, 2025

教えていただきありがとうございます。やはり、JavaScriptを使用して描画処理を行っているのですね。調べて色々試してみます。

K458Author
Participating Frequently
November 27, 2025

AIの力を借りて色々試した結果、次のJavascriptをOKボタンのアクション(JavaScript実行)にコピペして、楕円描画をトグル表示させることだけはできるようになりました。取り急ぎ報告まで。
(返信欄ではTABが効かないので見づらくてすみません。)
// 【ボタン2用】黒い楕円トグル

var MY_NAME = "SuperBlackOval_BUTTON2"; // ボタンごとに変更

// ───── 設定エリア(ここだけいじればOK!)──────────────
var ovalLeft = 180; // 左からの距離(pt)
var ovalTop = 680; // 上からの距離(pt)
var ovalWidth = 350; // 横幅(pt)
var ovalHeight = 180; // 縦幅(pt)
var ovalLine = 10; // 線の太さ
// ─────────────────────────────────────

this.syncAnnotScan();

var pageNum = this.pageNum;
var annots = this.getAnnots({nPage: pageNum});
var exists = false;

if (annots != null) {
for (var i = 0; i < annots.length; i++) {
if (annots[i].name == MY_NAME) {
exists = true;
break;
}
}
}

if (exists) {
// 消す
this.syncAnnotScan();
annots = this.getAnnots({nPage: pageNum});
for (var i = annots.length - 1; i >= 0; i--) {
if (annots[i].name == MY_NAME) {
annots[i].destroy();
}
}
} else {
// 描く
this.addAnnot({
page: pageNum,
type: "Circle",
name: MY_NAME,
rect: [ovalLeft, ovalTop, ovalLeft + ovalWidth, ovalTop - ovalHeight],
strokeColor: color.black,
fillColor: color.transparent,
width: ovalLine
});
}