PDF目次生成 Ver2.0
![]() |
| ●CSV形式のデータ取り込み後の階層表示(上) ●自動コード変換結果の表示(下) |
●PDFのしおり(目次)は閲覧者にとって必須の機能ですが,Acrobat 上でひとつひとつ入力しながら,リンク頁を設定するのはたいへん面倒な作業です。しかもPDF化したい書籍などが何点もあれば尚更です。
●Acrobat 日本語版が発売されてからPDFの需要はますます高まっているのに,いちいちしおりを作るのはたいへんだなあという視点で,PDF目次生成ソフトウェア「PDF目次生成」を開発しました。
●「PDF目次生成」は,Excel などで作られた CSV 形式のデータを取り込み,pdfmark operator のコーディングによってPDFに目次を付加するWindows 対応のフリーウェアです。
(1)"コード変換" ボタンをなくし,CSV 形式のファイルをオープンすると同時に全て自動でコード変換できるようにしました。
(2)画面の上部にPDFのしおりと同様に階層表示できるようにしました。更に,この画面で編集・修正ができるようにしましたが,Excel上での修正を推奨します。
・修正したい該当箇所を選択し,入力欄の "しおりの名前","子供の数","ノンブル" の箇所を修正してください。
・修正したい該当箇所を選択し,右クリックでその兄弟や子供を挿入したり,
削除できます。
(3)"新規作成" ボタンはこの画面で新たにしおりを作成するときに使用します。入力欄の "しおりの名前","子供の数","ノンブル" を入力します。
(4)画面の下部には "しおりの名前" など自動コード変換した結果が表示されます。
(5)"保存" ボタンは,PostScript形式の目次ファイルを生成します。
(6)"CSV書出し" ボタンを追加し,上記で修正した場合など CSV 形式で保存できるようにしました。
●ダウンロードご希望の方はなるべく登録してください。再配布も自由です。
●「PDF目次生成」のダウンロード
mokuji2.zip(4.6MB)
・適当なフォルダを作ってからダウンロードしてください。
●pdfmark operator について
PDFのしおり名に和欧混植の文字を使用するためには,非常に厄介な手続きが必要です。Acrobat で公開されている特別な記述としての pdfmark operatorを利用しますが,しおりの文字列は Unicode で取り扱われ,PDFDocEncoding という独自のエンコーディング処理を行って初めて利用可能となります。次の例で明解ですが,Unicode をベースに 20 から 7F の範囲内にあるかどうかで,ASCII文字と 8 進数で表現します。例外は半角の "\" と"(" と")" の 3 文字です。結局 6 パターンに分かれます。
《例》
|
文 字 |
Shift_JIS |
Unicode |
PDFDocEncoding |
備 考 |
|
あ |
82A0 |
3042 |
0B |
ASCII文字+ASCII文字 |
|
ア |
8341 |
30A2 |
0\242 |
ASCII文字+8進数 |
|
耳 |
8EA8 |
8033 |
\2003 |
8進数+ASCII文字 |
|
論 |
985F |
8AD6 |
\212\326 |
8進数+8進数 |
|
|
|
|
|
|
|
A【半角】 |
41 |
0041 |
\000A |
null文字+ASCII文字 |
|
1【半角】 |
31 |
0031 |
\0001 |
null文字+ASCII文字 |
|
|
|
|
|
|
|
\【半角】 |
5C |
005C |
\000\\ |
null文字+\+ASCII文字 |
|
(【半角】 |
28 |
0028 |
\000\( |
null文字+\+ASCII文字 |
|
)【半角】 |
29 |
0029 |
\000\) |
null文字+\+ASCII文字 |
従ってしおり名の文字列として,"あア耳論A1\()" の場合は,
0B0\242\2003\212\326\000A\0001\000\\\000\(\000\)
となりますが,Unicode Byte Order Marker の \376\377 を先頭に付加し,更に前後を括弧で囲み,
(\376\3770B0\242\2003\212\326\000A\0001\000\\\000\(\000\))
のように記述します。「PDF目次生成」はこのしおり名に子供の数(階層化のため)とリンク頁を追加して,次のような PostScript ファイルを生成します。
%!PS-Adobe-3.0このように「PDF目次生成」は,PDFファイルを作成する過程で,あらかじめ PostScript ファイルにある pdfmark operator を追加し,Acrobat で行うしおりの設定を Distill 時に埋め込み処理させようとするものです。埋め込まれた pdfmark operator は単にマーカーとして参照されるだけで,実際のプリンターが搭載している PostScript インタープリンタではスキップされるように記述するため,印刷には影響されません。
●「PDF目次生成」の利用方法
PDFのしおりを,
序 文のように階層化して作りたい場合の利用方法です。【mokuji.pdf 参照】
<Step 1> Excel でデータを作り,CSV 形式で保存する
《例》(Excel でのイメージ 【sample.xls 参照】)
|
|
A |
B |
C |
|
1 |
序 文 |
|
3 |
|
2 |
第1章 序論 |
2 |
7 |
|
3 |
1.1 物質科学の道具としてのコンピュータ・シミュレーション |
|
7 |
|
4 |
1.2 自然現象のモデル化 |
|
9 |
|
5 |
第2章 古典分子動力学法 |
3 |
11 |
|
6 |
2.1 はじめに |
|
11 |
|
7 |
2.2 分子動力学法のアルゴリズム |
3 |
12 |
|
8 |
2.2.1 分子動力学法の要素技術 |
|
12 |
|
9 |
2.2.2 質点系の基礎方程式(NTPアンサンブル) |
|
13 |
|
10 |
2.2.3 質点系の基礎方程式 |
|
13 |
|
11 |
2.3 物質のポテンシャル関数 |
2 |
14 |
|
12 |
2.3.1 ポテンシャル関数の分類 |
|
14 |
|
13 |
2.3.2 ペアポテンシャル |
|
15 |
|
14 |
第3章 第一原理分子動力学法 |
|
16 |
A 列:しおり名 B 列:子の数 C 列:リンク頁
B 列の「子供の数」について入力が終わったら,プリントアウトし,チェックしてください。間違いがなければ CSV 形式で保存します。【sample.csv 参照】
<Step 2>「PDF目次生成」を立ち上げ,CSV 形式のファイルをオープンする
<Step 3> PostScript(テキスト)形式でファイルを保存
続いてファイルを保存します。拡張子は ps となります。デフォルトでは mokuji.ps として保存されます。【mokuj.ps 参照】
<Step 4> sampleRunFile.ps をテキストエディターでオープンし,修正する
同梱の sampleRunFile.ps は,psファイルを連結するのに使います。このファイルをエディターでオープンし,mokuji.ps としおりを付加したい目的の psファイルを連結します。ここでは mokuji.ps とsample01.ps を連結します。【sample01.ps および sampleRunFile.ps 参照】
《例》
… (省略)のパス名が記述されている 2 行の部分を修正してください。
(ドライブ名/フォルダ名/.../ファイル名) prun
の要領です。フォルダ名やファイル名は全て英数字です。追加したい psファイルがあれば順番通り記述してください。パス名などを確認したら,名前を付けて保存します。(仮に,renketu.ps としておきます)
<Step 5> Acrobat Distiller を立ち上げ,psファイルをオープンし,PDFを作る
Acrobat Distiller を起動後,renketu.ps ファイルをオープンすると,しおりの入ったrenketu.pdfというPDFが出来上がります。renketu.ps ファイルをAcrobat Distiller にドラッグしてもいいでしょう。●ご注意
[1]sample.xls は説明のため簡潔にしました。従ってこの結果としての mokuji.ps と sample01.ps は内容的には一致していませんが,支障はありません。念のため。●応用編
[Q]sample01.psのようなPSファイルがなく,PDFファイルしかない場合はどうしたらいいのでしょうか?
[Q]通し頁(絶対頁)番号ではなく,本の通りに i とか vi とかも使いたいんですが?
[A]pdfmark operator では,本のようにページを表す i とか vi の記述が許されていません。 <Step 1> で説明したように,通し頁(絶対頁)番号で入力する必要があります。ただし,Acrobat上で「文書」→「ページ番号」の設定で,ステータスバーに i などをノンブルとして表示させることは可能です。