読者です 読者をやめる 読者になる 読者になる

亀岡的プログラマ日記

京都のベッドタウン、亀岡よりだらだらとお送りいたします。

PDFBoxをビルドして.NET用のDLLを作る

IKVM病の発作です

諸事情が有り、ちょいと.NETでPDFをいじることになりました。 実は超絶大昔にこのBlogでも触っていたりするのですが、まぁiTextSharpがAGPL(!)だったりするので、ちょいとまぁ、業務には使いにくいのです。

御存知の通り、iTextSharpJavaのPDFライブラリであるところのiTextの.NET移植なわけですが、Java系のPDFライブラリといえば、もう一方の雄がPDFBoxなわけです。

んで、Javaってことは.NETからでも使えるわけですので、jarからdllをこそこそ作・・・らなくてもいいんですよね!

PDFBoxをソースからビルドすると.NETのDLLも作成できる

実はPDFBoxのビルドスクリプトのうち、antのbuild.xmlには以下の様なセクションが有るわけです。

    <target name="build.NET" depends="checkForIKVM,pdfbox.package" if="IKVMAvailable" description="Build PDFBox .NET DLL files">
        <echo>Building JUnit</echo>
        <exec executable="${ikvmc}">
            <arg value="-reference:${ikvm.dir}/bin/IKVM.OpenJDK.Util.dll" />
(以下略)

つまり、ant build.NET で.NETのDLLができてしまうわけですよ。

ちなみに、build.propertiesは以下のように書いときます。

ikvm.dir=path\\to\\ikvm\\root   #例:C:\\Lib\\ikvm-7.2.4630

ちなみにMavenからは削除されてる模様。かつAntは切り離され気味なので、もうすぐ使えなくなるかもですね。。。

参考

Apache PDFBox | Building PDFBox