初めまして。困っております。
入力フォームを含むPDFをWriterで作成しています。
横一行のテキストボックスやチェックボックスを含むPDFフォームを作成していますが、
エクスポートしたPDFのテキストボックスに日本語を入力すると上下のスペースの不具合のためか、
文字が下の方に配置され、テキストボックスには文字の上の方しか表示されません。
アルファベットではこの問題は起こりません。
また、Acrobat Readerではこの不具合が見られますが、マックのPreviewでは正常に表示されます。
文字の種類など(日本語フォントだと文字化けしますのでArialやHelveticaなど欧文フォント)を色々変えてみたのですが、
解決策が見つかりませんでした。
どなたかお助け願えないでしょうか。宜しくお願いします。
なお、使用環境は、MacOS Sierra 10.12.6、LibreOffice Version: 5.3.6.1です。
お手数おかけします。
フォームを大きくしたり、フォントを小さくしても変わりませんか?
未解決だが、バグレポ的にはこれが近いか?
https://bugs.documentfoundation.org/show_bug.cgi?id=61850
個人的にはこの考え方は好きじゃないんだが…
https://bugs.documentfoundation.org/show_bug.cgi?id=61850#c28
まだ原因ちゃんとは全くわかっていませんが、とりあえずメモ。 (コメントは字数が足りるか不安)
詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方
http://itchyny.hatenablog.com/entry/2015/09/16/100000
仕様書類がリンク切れしているので改めて。
http://www.adobe.com/devnet/pdf/pdf_reference_archive.html
LibreOfficeの出力するPDFは圧縮されているので、上記を参照して調べるためqpdfを使う
http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.invocation
実際の変更作業はバイナリエディタ上で行うが、自分のStirlingは1行あたり16バイトずづ表示していて読みにくかったのでテキストエディタやWinMergeを要所で使用
先頭からの各項目へのバイト数を辞書として持っているため、うかつに数値の桁数を変更してバイト数をずらすと全部駄目にしかねないので注意する。
あと、一般的な左上(0,0)から右下に向かった座標系ではなく、左下から右上に向かっている座標系であることが多いことにも注意する。
今のところ理解したこと:
テキスト入力欄の外枠はページ境界と共に描写されている。
入力できるところ自体は装飾なしの文字だけ。
この二つを組み合わせてそれらしく見せている。罫線の有無が原因か!?(全く自信なし) pdfwriter_impl.cxx?r=11d2f3d6#4236
自分が掲示したバグレポのodt文書を手元でPDFにしたものも4 0 obj以下Rectの第二要素と第四要素の差が8.5になっているところを10.5差以上になるようにすると1つ目の1行テキストボックスの英文の頭がきられなくなる。(これは多分x y w hではなくx1 y1 x2 y2)
枠は11 0 obj以下、42.5 795.5 426.8 13.7 re B*の部分のx y w hを弄ると位置と大きさが操作できる。