早くキングダムハーツ2.8がほしいです。okitaです。
以前PDFBoxをコマンドラインから使っていて
なんとなく他のでも使えるかなと
思って再度調べてみました。
なにをするものかと言うと
PDF処理用のJavaのライブラリです。
コマンドラインからも使用できるので
今回はコマンドラインから検証してみます。
まずはダウンロードですね。
公式ページ
ダウンロード
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
以下のコマンドで直接印刷できるようです。
1 |
java -jar pdfbox.jar PrintPDF -silentPrint Test.pdf |
上のコマンドでも印刷はされるのですがデフォルト設定されているプリンターで印刷されます。
プリンターを設定したい場合は以下のようにオプションを追加して実行しましょう。
1 |
java -jar pdfbox.jar PrintPDF -silentPrint Test.pdf -printerName "プリンター名" |
■PDFの結合
次はPDFを結合するコマンドです。
stack overflow がやっぱり参考になりますw
http://stackoverflow.com/questions/9889830/merge-pdf-files-with-pdfbox-using-cli
1 |
java -jar pdfbox.jar PDFMerger Test1.pdf Test2.pdf New.pdf |
2つのPDFを1つのPDFに結合します。
1 |
java -jar pdfbox.jar PDFMerger Test.pdf Test1.pdf Test2.pdf New.pdf |
複数のPDFを1つのPDFに結合する場合はどんどんPDFのパスを追加しましょうw
1 |
java -jar pdfbox.jar PDFMerger C:\Temp\PDF\*.pdf C:\Temp\New.pdf |
しかしPDF多いとメンドイのでワイルドカードを使って
C:\Temp\PDFに格納されているPDFを全てマージということも可能です。
■PDFを画像に変換
1 |
java -jar pdfbox.jar PDFToImage -imageType jpg New.pdf |
あまり用途は少ないと思いますが
PDFを画像に変換するコマンドです。
imageTypeというオプションで画像タイプを設定できます。
私の環境では「jpg」「png」「bmp」「gif」が問題なく動きました。
■テキストをPDFに変換
1 |
java -jar pdfbox.jar TextToPDF -ttf simhei.ttf Text.pdf Text.txt |
テキストだけを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,