質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

2022閲覧

Acrobat Pro のjavascriptデバッカーでしおりのコピーをしたい

sinomai

総合スコア12

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/04/06 17:29

前提・実現したいこと

プログラムがまったくの初心者です。
acrobatでPDFについているしおりを別のPDFにコピーしたいのですが、
いろいろ調べてそのPDFに関してのしおりはscriptでコピーできることが分かりました。しかし、しおりのプロパティーのアクションで「ファイルを開く」や「ページビューに移動」と設定されているしおりがついているPDFはどのようなscriptを作ればよいか分かりません。

電子納品の仕事をしているのですが、大量のPDFにしおりを付けることが必要です。
ネットで検索してもあまり情報がなく、やっとJavascriputoを使うと出来ることが分かりました。それもacrobatProにしか出来ないので、会社で購入するか迷っています。(会社はstandard使用)

上記のscriptがうまくいけば購入してもらえると思いお試し版で検証中です。

別のPDFに同じしおりを付けるのは物が違うだけにページの設定をし直さなければならないのは重々承知しております。
むしろ、アクションでの「ファイルを開く」や「ページビューに移動」のしおりは
設定しなおしせず、そのままコピーしたいのです。

どうか教えください。
よろしくお願いします。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

// 【関数定義】ブックマーク登録コマンド生成
function dumpBookmark(bkm, nLevel)
{
bkm.execute();
var pbkm = bkm.parent;
if (pbkm != null) {
var bkmName = bkm.name.replace(/'/g,"\'");
bkmary.push("this.bookmarkRoot.createChild('" + bkmName + "','this.pageNum = " + this.pageNum + "');");
}
if (bkm.children != null)
for (var i = 0; i < bkm.children.length; i++)
dumpBookmark(bkm.children[i], nLevel + 1);
}

// 【関数定義】ブックマークの親子関係登録コマンド生成
function dumpTree(bkm, nLevel)
{
bkm.execute();
var pbkm = bkm.parent;
if (pbkm != null) {
var pbkmName = pbkm.name.replace(/'/g,"\'");
var bkmName = bkm.name.replace(/'/g,"\'");
bkmary.push("moveBookMarkObject('" + pbkmName + "','" + bkmName + "');");
}
if (bkm.children != null)
for (var i = 0; i < bkm.children.length; i++)
dumpTree(bkm.children[i], nLevel + 1);
}

// コンソールのクリアと出力表示
console.clear(); console.show();

// ブックマーク登録コマンドのコンソール出力
var bkmary = new Array();
dumpBookmark(this.bookmarkRoot, 0);
for (var i = 0; i < bkmary.length; i++)
console.println(bkmary[i]);

// ブックマークの親子関係登録コマンドのコンソール出力
console.println('function getBookMarkObject(bkm, nLevel, sname) {if(bkm.name == sname) trgBM = bkm; if(bkm.children != null) for(var i = 0; i < bkm.children.length; i++) getBookMarkObject(bkm.children[i], nLevel + 1, sname);}');
console.println('function moveBookMarkObject(pBM, cBM) {trgBM = null; getBookMarkObject(this.bookmarkRoot, 0, pBM); var pBMO = trgBM != null ? trgBM : null; trgBM = null; getBookMarkObject(this.bookmarkRoot, 0, cBM); var cBMO = trgBM != null ? trgBM : null; if(pBMO != null && cBMO != null)pBMO.children != null ? pBMO.insertChild(cBMO, pBMO.children.length) : pBMO.insertChild(cBMO);}');
bkmary = new Array();
dumpTree(this.bookmarkRoot, 0);
for (var i = 0; i < bkmary.length; i++)
console.println(bkmary[i]);

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

Acrobat Pro DC (お試し版)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問