なんでLibreOffice Calcで印刷レイアウトがずれるのだろう
ふとしたきっかけから、なんでLibreOffice Calcで印刷レイアウトがずれるのだろうと思い、手元にあったどこぞの行政機関の罫線・オートシェイプ・セル結合・いろいろな高さといった書式が付いたExcelファイルを手元のLibreOffice 25.2 CalcとMicrosoft Officeで開いて調べてみた。
犯人はどこだ
まずPDFプリントしてみる。
セルの大きさ、文字の大きさ、セルの高さは致命的なずれはなさそうだが、LibreOfficeは縦の余白がやけにでかい。
次に、PDFプリントの影響を除くためLibreOfficeで印刷してみる。セルの大きさ、文字の大きさ、セルの高さ、左からの距離は問題ないが縦がやけに空いている。
考えられるのはページスタイルないの縦に関連する以下のパラメーター。
- ページの余白
- ヘッダーの間隔
- ヘッダーの高さ
である。ヘッダーの高さについてはヘッダーをつけるで明示的に間隔・高さを指定してMicrosoft Officeと合わせた。ページの余白の解釈もあっている。
となると上記のパラメーターの他に用紙の上の余白について内部で何らかのパラメーターを持っていてこれが加算されることで印刷時に致命的なずれが出ることが分かった。
ワークアラウンド
LibreOffice Calcで印刷するときはページの上余白とヘッダサイズを最小限の0.1mm、ヘッダの間隔を0mmまで減らすことでExcelと同じセルの行数まで印刷することができた。
セルの高さは若干LibreOffice Calcが高いが最悪マクロで補正すれば良さそうに見える。
が、余白を作るベースの要素が異なるので明らかにサイズが異なってしまっている。
また、ヘッダーが必要になるとアウトだろう。
これってCalcのバグか設定ミス?
ふと拡張機能を見ると日本の履歴書をWriterで書いているテンプレートが見つかった。こちらではプレビューしても謎の上の余白は存在しない。
ということはCalcのバグかCalc用用紙設定のミスということになる。
これがなんとかなったらExcelワープロ全盛の日本での評価ももっと高まるだろうにもったいないったらありゃしない。
どうすればよいのだろう(過去の文書との互換性も入るので)。