PDFBoxをコマンドラインから使ってみる

早くキングダムハーツ2.8がほしいです。okitaです。

以前PDFBoxをコマンドラインから使っていて
なんとなく他のでも使えるかなと
思って再度調べてみました。

なにをするものかと言うと
PDF処理用のJavaのライブラリです。
コマンドラインからも使用できるので
今回はコマンドラインから検証してみます。

まずはダウンロードですね。

公式ページ

https://pdfbox.apache.org/

ダウンロード

https://pdfbox.apache.org/download.cgi

Command Line Tools

http://pdfbox.apache.org/1.8/commandline.html
今回は「pdfbox-app-1.8.10.jar」を使ってみます。
※長々とコマンド打ちたくないので
ダウンロードしたjarの名前を「pdfbox.jar」に変更。
本当はJavaのライブラリなので
Javaソースから参照して機能を使うべきなのですが
メンドイので 今回は直接jarを起動して
どんな動作をするか検証してみます。

■直接印刷

以下のページを参考を参考にさせていただきました。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=830
以下のコマンドで直接印刷できるようです。

上のコマンドでも印刷はされるのですがデフォルト設定されているプリンターで印刷されます。
プリンターを設定したい場合は以下のようにオプションを追加して実行しましょう。


■PDFの結合

次はPDFを結合するコマンドです。
stack overflow がやっぱり参考になりますw
http://stackoverflow.com/questions/9889830/merge-pdf-files-with-pdfbox-using-cli

2つのPDFを1つのPDFに結合します。

複数のPDFを1つのPDFに結合する場合はどんどんPDFのパスを追加しましょうw

しかしPDF多いとメンドイのでワイルドカードを使って
C:\Temp\PDFに格納されているPDFを全てマージということも可能です。


■PDFを画像に変換

あまり用途は少ないと思いますが
PDFを画像に変換するコマンドです。

imageTypeというオプションで画像タイプを設定できます。
私の環境では「jpg」「png」「bmp」「gif」が問題なく動きました。


■テキストをPDFに変換

テキストだけをPDFにする需要がよくわかりませんが
とりあえずこんな機能もありますよっとw
※日本語テキストが文字化けてました。
フォントの指定とかも試しましたがイマイチな結果にw


とりあえず今回はこんな感じで終わります。
過去の情報を見たんですけど
なんかイマイチだったのでここに備忘録としてまとめておきます。

GeneXusから使う場合はShell関数とかで
バッチを起動して、その中でPDFBoxを実行すれば問題なし。
ただしJavaが動く前提ですね(;´∀`)

それ以前にターゲット環境が
Javaであればエクスターナルオブジェクト作って
その中でいろいろ機能を作ったほうが便利かもしれませんねwww

エクスターナルオブジェクトはまた時間のある時に作成して
備忘録としてアップします・・・・・・・気が向いたらでw

以上です。

GeneXus wiki – Shell 関数
http://wiki.genexus.jp/hwiki.aspx?Shell+%E9%96%A2%E6%95%B0,