Zope で 簡単PDF作成方法
いろいろ問題を含みながらも、簡単お手軽PDFとして使えます。 spumoni
ここにもドキュメントとしてあります -> 2002.4.8 by kinneko,Supumoni http://zope.jp/howto/PDF-demo
手順
- Wordなどのワープロで帳票を作成。文字を差込みしたい場所に X01 などとマークしておく。
- 印刷のとき、Acrobat PDF Writer を選択すると、圧縮オプションのタグがでてきたらそれをクリック。
アプリケーションによるが、ワードの場合はプロパティを先に選ぶ必要がある。
- 「テキストと線画の圧縮」のチェックを外し、「ASCIIフォーマット」をチェック。
- 印刷を開始し、PDFファイルを作成。
- PDFファイルをエディッターで開くと、以下のようなコードが表示される:
%PDF-1.2
%粤マモ
8 0 obj
<<
/Length 9 0 R
>>
stream
- マークしたX01を検索すると、以下の風な形になっているはず。:
0 Tc (X01) Tj
- 最初の0とか、TCとかは違ってるかもしれないが、X01は括弧でははさまれ、最後にTjがついていると思う。これを以下のように修正する。:
0 Tc (<dtml-var Namae>) Tj
- このファイルを保存し、ZopeにDTML Method形式で Jusyo.pdf などという名前で取り込む。
- 一応取り込む前にアクロバットで開くと、該当部分に<dtml-var Namae>と表示されているはず。
- 別のDTML DocumentかDTML Methodに以下のように記述する。:
<form action=Jusyo.pdf method=post>
<input type=text name=Namae size=60>
<input type=submit value="申請書作成">
- このファイルを表示させ、Namaeの枠に文字を入れてSUBMITすると、PDFファイルの該当の場所に日本語で表示される。
- PDFファイルといいながら、DTML Methodなので、DTMLタグは全て有効。<dtml-if>やデータベースへのアクセスも可能です。PDFexpression を見ながら、PDFのコマンドをいじってみるのもまた一興かも^^
なお、確認は、Acrobat5.05 for Windows、端末がWindows2000ProでZopeサーバーはWindows2000サーバーとTurboLinux7.0サーバー、エディッターは秀丸3.15を使用しました。
問題点
- 手書きしたために相互参照部などが正しい位置を示せず、不正な PDFでエラーになってしまう。Acrobat5では、エラー修復を自動でやってくれるようだ。
- sjis で入れないとダメみたい。
- フォントを入れ込まないと意図したような表示にはならない。使えるフォントが標準的なフォントのみに限られるようだ。
- 改行コードがCrLfでないようで、エディッターはUNIX形式でも扱えるものを使わなければいけないみたい。秀丸 や TeraPad が使えると思う。