1

iText を使用して pdf ファイルを生成するプロジェクトに携わっています。上付きテキストを生成したいのですが、テキストのチャンクを上付きに変換する方法が存在することは知っていますが、入力に基づいてテキストを上付きにするかどうかを決定することが望ましい状況にあります。最適な解決策は次のようなものです:2<superscript>nd</superscript>テキスト "2 nd " を生成します。

これ、またはこのようなことは可能ですか?

iText に対して直接コードを記述していないことに注意してください。間にレイヤーがあります。これが、入力に基づいてではなく、上付き文字を決定する必要がある理由です。

4

2 に答える 2

1

iTextを使用しているコードを変更できない場合は、いいえ、方法はありません。iTextは、入力したテキストを解析しませんChunk

達成したい動作と同様の動作を実現するには、たとえばiTextのコンパニオンXMLWorkerを使用して、HTMLからPDFへの変換を行う必要があります。

于 2012-07-31T07:14:42.943 に答える
1

タグを見つけたら<superscript>、正しいプロパティを持つチャンクを簡単に作成できます。

public Chunk addSuperscript(String text) {
  float leading = determineCurrentLeading();
  Font f = determineCurrentFont();
  Font supFont = new Font(f);
  supFont.setSize(f.getSize() / 2f);
  Chunk c = new Chunk(text, supFont);
  c.setTextRise(leading / 2f);
  return c;
}

次に、チャンクが段落、PdfPCellに追加されます...実装に応じて、現在使用されている先頭とフォントを決定できます。

これがお役に立てば幸いです。

于 2012-07-31T07:16:02.687 に答える