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

JAXRSによるRESTAPI作成方法

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。 Contents1 RestAPIとは2 プログラムの作成方法について RestAPI …

no image

型パラメータに関して

Javaでの型パラメータについて書きたいと思います。 Contents1 基本の型パラメータ2 型パラメータの制限(ある型を継承した場合) 基本の型パラメータ Sample.java [crayon- …

no image

arquillianでのリソースファイル読み込み

以前、このエントリーでarquillianからライブラリが利用できず、追加のライブラリを導入した、ということを書きました。 実はリソースファイルもそのままですとarquillianからは使用できません …

no image

クラスパスの通し方

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

アーカイブ