ウェブページのPDF化でレイアウトが崩れる

ワードプロセッサ (Writer) について
返信する
pen-chan
記事: 2
登録日時: 9月 29, 2014, 11:03 am

ウェブページのPDF化でレイアウトが崩れる

投稿記事 by pen-chan »

こんにちは、よろしくお願いいたします。

XMLとXSLで作ったウェブページを、ページ内でオープンオフィスをかませてPDF化して、印刷用に出力する機能をつけたのですが
その際にウェブページの方はレイアウトが崩れてないのですが、PDF化したときにレイアウトが崩れる事態が発生しています。

ウェブページは
テーブルを組んだ中にテキストエリアを入れており、そのページを表示した際に文字の入力・保存ができる状態になっていて、
再度ページを開くと文字が入力されたウェブページおよび入力した文字がPDFで表示されるボタンがありボタンを押したらPDFが表示されるもの となっております。

複数行のテキストエリア内に入力した文字が「ひらがな」や「短い単語の漢字」ならばレイアウトのくずれ・・・テキストエリアが横にのびていく現象がおきないのですが、
ある漢字を連続で入力するとテキストエリアがのびたPDFページが出力されます。
ある漢字というのが法則性がわからず特定できないのですが、入力テストで「十」を連続でいれるとテキストエリアが伸びて
「一」を入力するとテキストエリアの範囲で折り返しがされてレイアウトの崩れが起きない状態です。
動作テストのために漢字を連続入力して保存してPDF化してレイアウト確認を行っていました。

テーブルやテキストエリアはCSSで固定やピクセル指定を行っており、ウェブページ上は一切崩れない状態となっております。
なので、オープンオフィスによるものなのかと、思っておりますがなぜこのようなレイアウトの崩れが起きるのかがわからない状態です。

PDF化したときのレイアウトの崩れを防ぐ方法をご存知の方がいらっしゃればご回答をお願いしたいです。

 (バージョンは変えることができません)
オープンオフィス:3.4.1
発生ブラウザ:InternetExplorer Ver. 8,9
AcrobatReader: ver 10.1.10
openoffice3.4.1
??????OS???Windows???
pen-chan
記事: 2
登録日時: 9月 29, 2014, 11:03 am

Re: ウェブページのPDF化でレイアウトが崩れる

投稿記事 by pen-chan »

調査した分かってきたことがあるので、質問内容を再度整理させてください。

==========================================================
■PDF変換するHTMLファイル抜粋
◎スタイル [/b]  
.tableRowbackground{
background-color: #FFFFFF;
}

   .textcenter
   {
text-align:center;
   }

   .head_middle
{
font-size: 12px;
font-weight: bold;
vertical-align: middle;
}

   .nyuryokufont3
   {
   width:108px;
   font-family:"MS 明朝";
   font-size:11.5px;
   }

◎質問箇所の定義
<table border="1" cellspacing="1" cellpadding="0" width="100%" class="tableRowbackground">
<tr>
<td height="30px" width="16.6%" class="textcenter">
<div class="head_middle">AAA</div>
</td>
<td height="30px" width="16.6%" class="textcenter">
<div class="head_middle">BBB</div>
</td>
<td height="30px" width="16.7%" class="textcenter">
<div class="head_middle">
<div name="tag1" class="nyuryokufont3" style="border: 1px solid gray;">一二三四五六七八九十一二三四五六七八</div>
</div>
</td>
<td height="30px" width="16.7%" class="textcenter">
<div class="head_middle">
<div name="tag2" class="nyuryokufont3" style="border: 1px solid gray;">一弐三四五六七八九十一二三四五六七八</div>
</div>
</td>
<td height="30px" width="16.7%" class="textcenter">
<div class="head_middle">
<div name="tag3" class="nyuryokufont3" style="border: 1px solid gray;">一二参四五六七八九拾一二三四五六七八</div>
</div>
</td>
<td height="30px" width="16.7%" class="textcenter">
<div class="head_middle">
<div name="tag4" class="nyuryokufont3" style="border: 1px solid gray;">壱岐参四五六七八九拾一二三四五六七八</div>
</div>
</td>
</tr>
</table>
==========================================================
上のような記述内容で、『div name = "tag1"~"tag4"』のテキストデータの内容により、
テーブルのセル幅がPDF化したときに横に広がってしまいます。

■div name="tagx"のテキストデータの内容
(1)横に広がってしまうケース
 ・ 壱弐参四五六七八九十一二三四五六七八
 ・ 壱二三四五六七八九十一二三四五六七八
 ・ 一弐三四五六七八九十一二三四五六七八

(2)セル幅が横に広がらないケース
 ・ 壱弐参製品群七八九拾一二三四五六七八
 ・ 一二参四五六七八九拾一二三四五六七八
 ・ 壱岐参四五六七八九拾一二三四五六七八

■知りたい情報
縦書き用漢数字が、まさに数値として取り扱う必要がある、と認識されたときに、
セル幅が広がってしまうのでは?と思ったのですが、
正しい情報をご存じの方がいらっしゃれば、原因をご教授いただけますでしょうか?

セル幅を絶対に固定となるようにしたいため、
もし広がってしまう可能性があれば、それを例外事項として明示したいため、
ある程度正確な原因を把握したいと思っています。

なお、widthをパーセント指定している箇所を、ピクセル指定しても同様の結果となりました。
openoffice3.4.1
??????OS???Windows???
返信する

“Writer”に戻る