skillup

技術ブログ

Java

JavaでのPDF出力

投稿日:2015年10月28日 更新日:

JavaでのPDFファイルをダウンロードしたいと要望があって社内アプリの開発をしていましたが、思った以上にバグがでてかなり長期戦になりました。

やりたいことは

  • ボタンを押すとファイルのダウンロードが始まる
  • ファイル名は日本語
  • PDFファイルには日本語の表示
  • 帳票なので表を表示したい
  • 使うものはすべてフリーのもの

以上です。

というか現段階でまだできていないんですけどね・・・

一応つまづいたところなどを。

ファイルの日本語名

かなり大変でした。

理屈自体もよくわかってません(汗)

とりあえずコードを書いておきます。iTextというPDFのライブラリを使っています。

HTTPレスポンスヘッダの[Content-Disposition]について、Safariでの日本語文字化け対策など。

 

byte変換

「Java」Base64 エンコード デコード

これで進めてきたのですが、肝心の帳票に出力する部分で日本語フォントが使えないことが発覚。

ここの対応で行けるようなのですが私は駄目でした・・・(汗)

JavaでPDFを作成

比較的新しいライブラリということでApachePDFBoxというものを使い始めましたが、日本語表記やテーブル表記も難しく依存関係でもエラーがでました。

一応下記にそれぞれの対処したものとリンクを書いておきます。

apachePDFbox自体の使い方

Java ライブラリ Apache PDFBox で PDF を操作しよう

Apache PDFBox

テーブル文字列
Creating tables with PDFBox

ApachPDFBoxの依存関係
https://pdfbox.apache.org/1.8/dependencies.html

テーブルのサンプルなど
githubより
https://github.com/eduardohl/Paginated-PDFBox-Table-Sample

いろいろ調べましたが検索スキルなどがいまだに未熟ですね・・・・

なんとか公式ページを手探りで読んだり、上司にきいたりしながらエラーは消えましたが、いまだゴールにはたどり着けていません(汗)

うまくいったらまた書きます・・・

 

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

配列からListへの変換

配列からListにしたいとき、ループでいちいち回さなくても下記の処理で一気にListに変換できます。

Netbeansに教えてもらいま …

no image

O/Rマッパー iciqlについて

以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。 Contents1 インストール2 自動生成3 注意点3.1 Date型のインポー …

no image

クラスパスの通し方

今回はNetbeansでなく、IDEを使わずにJavaを使う場合の記事です。 Javaで開発している人の99%はIDEで開発をしていると思うのですが、サーバー上で一時的テストをしないといけないような場 …

no image

型パラメータに関して その2

Javaでオブジェクト指向に基づいたコーディングをするために必須であり、最初の難関だったのが型パラメータでした。 Contents1 型パラメータが必要なケース2 型パラメータの制限3 クラスインスタ …

no image

JSPでのカスタムタグ

前回のインク―ドですが、文字列以上の情報を渡すことはできませんでした。 いろいろ調べたり、上司に聞いてみるとカスタムタグという独自のタグを作る機能があるとのことでさっそく調査。 Contents1 カ …

アーカイブ