・作者の中島靖さんのページ(モジュールのソース、解説書等があります)
・XPDFJのドキュメント
・XPDFJ標準マクロ概説(PDF)
私も仕事でよく使っているのですが、最近ページの内容があふれて自動で改ページする時の挙動が、使用するタグによって異なることに気づいたので、メモとして残しておきます。
まずは、次にあげる3つの条件の場合の元XMLと生成したPDFをダウンロードしてみてください。
1) 内容を<P>タグで囲っている場合
・元のXML
・生成したPDF
2) 内容を<DIV>タグで囲っている場合(<DIV>内に直接テキストは書けないので<P>も使っています)
・元のXML
・生成したPDF
3) 内容を<TABLE>タグで囲っている場合
・元のXML
・生成したPDF
生成したPDFを見てみると、1)と2)の場合には、文字が入り切らなくなった行で改ページされ、続きがそのまま2ページ目に続きますが、3)の場合には、文字が入り切らなくなった行を含んでいる<TR>全体が次のページに移り、前のページの終わりにその分の余白ができます。
したがって、コンテンツに枠線を付けようとする時、<DIV>タグか<TABLE>タグの選択肢がありますが、どのように改ページさせたいかによって、使い分ける必要がありそうです(<DIV>タグの場合は、枠線が2ページにまたがるが、<TABLE>タグの場合はまたがらない)。
今回の仕事では、最初3)の方法で記述していて出力結果が求めているものと違ったので、2)の方法に変更しました。
ちなみに、3)のやり方で、1つの<TR>内に含まれる内容が、1ページの容量よりも多くなってしまった場合、このテーブルを含むページが丸々PDFから抜け落ちてしまうので注意が必要です。
また、上述のXPDFJ標準マクロ概説を見ると、表組みを使う場合、表内部では改ページをさせない、とか、この行の後では改ページさせない、などの設定も可能なようです。
ちょっとマニアックな内容になってしまいましたが、XPDFJについては、これからもよく使うと思うので、また何か気づいたらメモしていきます。
0 件のコメント:
コメントを投稿