C#でlibHaruを使ってPDFを出力してみよう。その1「libpngとzlibビルド編」
C#でPDFを出力したいとき、いろいろなライブラリの使用を検討されると思いますが・・
ライセンス的に難しいと思うことが多いとお嘆きの方に、libHaruを検討してみてはどうでしょうか。
libHaruは、もともとIPAの未踏ソフトウェア創造事業で採択されたもののようで、
商用利用も可能です。
https://www.ipa.go.jp/files/000006420.pdf
これをC#で活用するには、いくつかの手順をこなさないといけないので、
試行錯誤したときのメモを兼ねて記載します。
大きな流れとしては、以下になります。
- libpngとzlibのビルド
- libHaruのビルド
- C#プロジェクトの作成とインタフェースの追加
Visual Studio 2017 Communityを使用しています。
libpngとzlibのダウンロード
まず、公式サイトからlibpngの最新版をダウンロード
libpng Home Page
zipをダウンロードします。記載時点では、1.6.32でした。以降、これに準じて記載します。
つぎに、libpngのビルドに必要なzlibをダウンロード
以下のファイルに必要なzlibのバージョンが記載されています。
lpng1632\projects\vstudio\zlib.props
記載時点では、1.2.8でした。
zlibのリポジトリから対応するバージョンをダウンロード
Index of /fossils
それぞれダウンロード、解凍後は、それぞれを同じフォルダに格納します。私は、E:\buildというフォルダに格納しました。
libpngのビルド
以下のファイルをダブルクリックしてVisual Studioを起動します。
lpng1632\projects\vstudio\vstudio.sln
初回起動時には、このように聞かれる場合があります。「OK」をクリックします。
次に、ビルド構成「Release Library」に選択します。
このまま、ビルドすると、警告が生じされ、コンパイルが止まってしまうため、
警告が出てもコンパイルを続行させるため、プロジェクトの設定を次のように変更します。「警告をエラーとして扱う」を「いいえ /WX」にします。
これは、pngXXXのプロジェクトに対して、それぞれ設定します。
設定が完了すれば、ビルドを実行します。
ビルドが無事に完了すれば、Release Libraryのフォルダにファイルが出力されます。
これで、libpngとzlibビルドが完了です。