PDFを作るのは意外と手間です。Windows10やmacOSでは印刷機能を使ってPDFの作成ができますが、自動化するのには向きません。大量のPDFを一気に作らないといけない時には面倒です。 そこで使ってみたいのがGotenbergです。Web APIベースで多彩なファイルをPDFに変換します。

Gotenbergの使い方

サービスを立ち上げるのに一番簡単なのはDockerを使った方法でしょう。

$ docker run --rm -p 3000:3000 thecodingmachine/gotenberg:1.0.0

後はWeb APIに対してファイルを送信するだけです。レスポンスがPDFになります。

$ curl --request POST \
    --url http://127.0.0.1:3000 \
    --header 'Content-Type: multipart/form-data' \
    --header 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
    --form files=@file.docx \
    > result.pdf

残念ながら日本語は使えません。Dockerコンテナに日本語フォントが入っていないためでしょう。

複数のファイルを送信して一つのPDFにまとめることもできます。

GotenbergはMarkdownファイル、HTML、WordやExcelなどのオフィスファイルをサポートしています。これらのファイルを送信すれば、PDFに自動変換してくれます。日本語の問題はDockerコンテナではなく、自前で立てれば恐らく解決できるでしょう。

GotenbergはGo製のオープンソース・ソフトウェア(MIT License)です。

thecodingmachine/gotenberg: A stateless API for converting Markdown files, HTML files and Office documents to PDF