PDF注釈の内容をJavaScriptを使用して抽出して、
表示されたコンソールウィンドウのテキストをエクセルにきれいに貼りたいです。
出来上がりのエクセルは、
A列:注釈が入っているページ
B列:注釈の日付
C列:注釈の制作者
D列:注釈の種類
E列:注釈についているコメント内容
としたいのですが、
コメント内に改行があると上手くいきません。
1文目は良いのですが、改行されたコメント内容がA列に貼られてしまいます。
先に 注釈のコメント内の改行を別の何かに置き換えるか、改行自体を削除すれば良いと思うのですが、上手くいきません。
教えてください!!
===========================
console.clear();
for (var p = 0; p < this.numPages; p++) {
var myAnnots = this.getAnnots({nPage: p});
if (myAnnots != null) {
for (var i = 0; i < myAnnots.length; i++) {
var msg = (myAnnots[i].page + 1) + '\t'
+ util.printd("yy/mm/dd HH:MM:ss", myAnnots[i].modDate) + '\t'
+ myAnnots[i].author + '\t'
+ myAnnots[i].type + '\t'
+ myAnnots[i].contents + '\t'
console.println(msg);
}
}
}
console.show();
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
手元のPDFでスクリプトが使えない環境になってしまったので、きちんとテストできてはいないのですが…
>注釈のコメント内の改行を別の何かに置き換えるか~~
PDFの注釈内の改行は(\r)だけのようですので、エクセルのセル内改行(\n)に置き換えれば良いかと思いましたが、コンソール表示時に改行扱いされてしまうようです。
ですので、コンソールからさらにコピペすると、結局、改行コードに戻ってしまうようですね。
ですので、若干面倒ではありますが、一旦、別の文字に置き換えて、エクセルへ移動後に「セル内改行」に再変換するといった手順が必要なようです。
例えば、注釈内の改行を'*'に置き換えるなら。
myAnnots[i].contents.replace(/\r/g,'*')
実際には、'*'のような本文内でも使用される可能性のある文字を用いてしまうと正しく復号できない可能性がありますので、使われないであろう制御文字(例えばESCとか、ESC+* など)を利用するといった方法をとるのが宜しいのではないかと思います。
やっぱり、置換できても変わってしまうのですね…
絶対に使用しないであろう文字列に置き換えて 後で改行置換して対応してみます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- UNIX・Linux sedでの正規化 2 2022/05/10 11:39
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 見本通りに...
-
C#のシリアル通信プログラムで...
-
プログラムのコピー&ペースト...
-
XMLを作成してもタグしか表示さ...
-
カーソルを合わせると説明を表...
-
キーフレーム
-
AfterEffectsでイージーイーズ...
-
VC、コンソールアプリ結果の...
-
Edgeを操作するアプリについて
-
GoogleChromeでレイアウトが左...
-
preタグがプロの現場であまり使...
-
Hタグを改行禁止にしてspanのよ...
-
HTML 全画面表示 リンク先の...
-
掲示板からIPアドレスってど...
-
インラインフレームの中の表示...
-
新しいタブで開かせない方法は...
-
aviutlで最後まで動画が読み込...
-
テーブルの幅を固定するとnowra...
-
HTML文書を上書き保存してもブ...
-
htmlで文字列をクリップボード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 見本通りに...
-
ASP.NET TextBox 入力制限
-
ASCII文字列以外を検出する正規...
-
C#のシリアル通信プログラムで...
-
Pythonの勉強を始めました。バ...
-
JavascriptでIMEのON,OFF制御
-
ローマ数字などの文字化け対策...
-
stray '\\240' in programのエ...
-
php でtabを空白に変換して表示...
-
半角スペースを含む文字列を変...
-
氏名の入力チェックに全角スペ...
-
Eclipseの空白が変な...
-
インデントをスペースにするメ...
-
ホームページ制作でコピーライ...
-
指定した文字を始点にスペース...
-
ボタンコントロールのTEXT...
-
改行されたデータをIEに貼り付...
-
ソースコードの改行文字は何に...
-
Web上のテキストボックス
-
カラムの末尾にスペースが入る
おすすめ情報