itext
PDFのしおり(ブックマーク)を解析する
iText にはPDFの"しおり(ブックマーク)"を解析する機能があります。(これは便利)
ここでは、 iTextを簡単に使うために、jythonを使用します。
Java vs Jython iTextを活用してPDFを操作するエントリーの整理をしていて気づいたこと
前から整理しようと思って手がつけられなかったPDF関係のエントリーの見直しをした。 iTextを使って、PDFを処理するプログラムだが、当初はJavaで書いていたのだが、Jythonで書き直した。
PDF文書に後からノンブル(ページ番号)を追加する
手持ちのPDF文書を印刷しようとしたときに、
ページ番号がついてなくて困ったことありませんか?
iText
を使えば、あとから”ペタンペタン”とスタンプを押すように
イメージやテキストを追加することができます。
この機能を利用して、コマンドラインから簡単に
ページ番号をPDF文書に追加する方法を
紹介します。
ここでは、 iTextを簡単に使うために、jythonを使用します。
複数のイメージをまとめてPDFに変換する(iTextを使用)
納品するソフトウェアのスクリーンショットを印刷しなければならない。
印刷対象となるスクリーンショット画像が多数あるので、なんとか単純化できないか?
(今後もバージョンアップのたびにこの作業は発生することだし。)
オライリーのPDF HACKSを見てみると、ImageMagickの convert ツールでこれができると 書いてある。
$ convert -density 100 -page "800x800>" -resize "800x800>" *.gif output.pdf
やってみると確かにカレントディレクトリにある *.gif画像のスクリーンショットを
全部一ページ一画像の形でPDFに変換してくれた。
超便利!と思ったけど、余白がない状態で出力される。
これなんとかならないか、と思って調べたが、余白をとる方法がわからなかった。
そもそも生成するconvertコマンドのオプション自体も意味がわからない(まさにマジックだ)。
仕方がないので再び iText にお世話になることにした。
JavaからPDFファイルを扱う(PDFファイルのアクロバットリーダでの表示、印刷など)
Javaで書いたプログラムからPDFを扱う場合に便利なコードが iTextのソースアーカイブに入っていたのでメモ。 すぐ利用できるようにJavadocも用意。
- PDFファイルをアクロバットリーダで表示
- PDFファイルを印刷
Javaで印刷するには、Java2Dを使って描画して印刷、という普通の方法が あります。 しかし、場合によっては、iTextを使って、PDFを生成して、 このクラス(Executable.java)経由で印刷ダイアログを出して、印刷、 という方が便利な場合もあるかと思います。
PDF文書を分割する(iText)
複数のPDFを一つのファイルに結合するとは逆に 複数ページからなるPDF文書を1ページごと別々のファイルに分割保存する方法。
例によって、 iTextのお世話になります。
※ここでは、 iTextを簡単に使うために、jythonを使用します。
※こちらの エントリ(jythonを楽にインストールするにはUbuntu) も参考にしてください。
複数のPDFを一つのファイルに結合する
単純にPDFファイルを結合したいだけならば、 AcrobatReaderを使うか、pdftkなどのツールを使えばできます。
ここでは、iTextを使ってPDFを結合する方法を紹介します。
また、 iTextを簡単に使うために、jythonを使用します。
MacOSXでは、印刷できるどの書類からもPDF出力できるので便利。 しかし、別々に作成したPDFをひとつのPDFにまとめる処理ができないようなので (できる方法がある?知らないだけかもしれない。) Java(とJython)で 複数のPDFをまとめるコードを書いてみました。
MacOSXにははじめからJavaが用意されていますから...