arachansan's diary

誰にも左右されず、硬派なBlogを書きます。

サーバー上でLibreOffice Drawファイルの印刷を考える

LibreOffice AdventCalendar 2017 12月4日の記事です。 ちょっとしたポエム置いておきます。

Python odfpyでodgを弄るネタは日本では全く反応なく外人が大喜びしている感覚があります。 dev.toに英語版を書いておきました。 そっちはいいねが7つ付いているんだけど…。

それはさておき。

ファイルができたら印刷したいと思うでしょう。 OpenDocumentFormat(ODF)ファイル作ったら自動的にプリンターに印刷を投げるみたいなのです。

結論から言うとLibreOfficeのインストールが必要です。

考えられる方法は2つ

  • ODFのまま印刷を投げる
  • PDFに変換してバッチで回す

ODFのまま印刷

ODFのまま印刷投げる場合は現状、LibreOfficeからバックグランドで投げてやらないといけません。 LibreOfficeも使わずに印刷を投げられるのなら誰か教えて。

PDFに変換してバッチで回す

案外これが現実的なのかもしれません。 しかしODFをPDFに変換するのにも結局、LibreOfficeが必要です。 Pythonにodf2pdfというまんまなライブラリーがあるのですが、LibreOfficeAPIをそのまんま叩いてます。

github.com

LibreOfficeをバックグランドで動かして処理するような行儀の悪いことをやりたくなかったからodfpyを頑張ったのに。

結論

こう考えると 「最初からPDFを生成するライブラリーを使ってPDFを作ってバッチで印刷掛けていけばいいんじゃね?」 というのに落ち着いてしまうわけです。

逆に考えると一枚一枚作っていく見積書のようなシステムの場合は自分のクライアントにダウンロードさせて印刷すればいい。 そのような場合には特に文言等のカスタマイズ要求が非常に高い印象があります。 よは使い方次第のような気がします。