web-dev-qa-db-ja.com

Apache PDFBoxを使用してテーブルを作成する方法

Pdf生成ユーティリティをiTextからPDFBoxに移行する予定です(iTextのライセンスの問題のため)。多少の努力で、テキストの記述と配置、線の描画などができました。しかし、テーブルセルにテキストを埋め込んでテーブルを作成するのは難題でした。 PDFBoxが、テキストが埋め込まれたテーブルを作成するためのネイティブサポートを提供するかどうか疑問に思っていました。私の最後の手段は、このリンクを使用することです https://github.com/eduardohl/Paginated-PDFBox-Table-Sample

25
Anil

ティルマンから提供されたリンクに感謝します。 boxable APIを使用して( https://github.com/dhorions/boxable )必要なテーブルを作成できました。参考までに、可変セル数のテーブルを作成したかったのです。たとえば、行1には2つのセルがあり、行2には5つのセルがあり、行3には3つのセルしかありません。簡単にできました。上記のリンクのExample1.Javaに従いました。

25
Anil

サイドプロジェクトにはテーブル描画機能も必要だったので、自分で github にアップロードした小さな「テーブル引き出し」ライブラリを自分で実装しました。

そのようなテーブルを作成するために-例えば-... enter image description here

... このコード が必要です。同じファイルに、そのテーブルのコードもあります:

enter image description here

現在の「機能リスト」には次のものが含まれます。

  • テーブルレベルおよびセルレベルでフォントとフォントサイズを設定する
  • 下、上、左、および右の境界線幅を持つ単一のセルを個別に定義する
  • 行またはセルレベルで背景色を定義する
  • セルレベルでパディング(上、下、左、右)を定義する
  • 境界線の色を定義する(テーブル、行、またはセルレベル)
  • テキストの配置(垂直および水平)を指定します
  • セルスパニングと行スパニング
  • テキストの折り返しと行間隔

また、必要に応じて、上、下、左、右の境界線の境界線の色を変えるなど、不足しているものを追加するのも難しくありません。

30
philonous