質問

を使用していiTextを書きます。場合については親権者の方の同意が必要署名は、PDFに SetVisibleSignature 機能です。この機能を指定するrectangleまたはコンテンツです。

"という声もありましたが、多く私にとっての計算方法の文字列ができるよう、セットの矩形をセットする前に署名は、PDFとしています。

できるかを計算して文字列の幅をiText?

役に立ちましたか?

解決

使用できます BaseFont.getWidthPoint(String text, float fontSize) 文字列の幅をptで取得します。

または、文字列をチャンクに入れて行います chunk.getWidthPoint()

他のヒント

の受け答え BaseFont.getWidthPoint, んな作業itext5.5.4来の方法な静なくなった。でもかった場合も存在するものではありませんの真のフォントの使用(その家族またはその大胆/イタリック)で静的および受限定のパラメータ。

chunk.getWidthPoint() は、真のフォントとして後述し、特定の用途では、廃棄物を常に創造チャンクに幅場合のチャンクな企画に使用されます。

これは基になるコード chunk.getWidthPoint() として使ンドの代替ときだけ電源をオンにする"という水平スケーリング:

font.getCalculatedBaseFont(true).getWidthPoint(text, font.getCalculatedSize());

私はこれをやってしました ColumnText.getWidth( Phrase phrase ) aの幅をサイズするには Phrase それを見せる前になります ColumnText.showTextAligned.

このスニペットでは、私は使用しました ColumnText.getWidth 文字列の長さをサイズにして、ページの右上に配置します。ポートレートA4で動作し、さらにテストしていません。

Phrase phrase = new Phrase( "Bla bla bla!", new Font( FontFamily.HELVETICA, 9 ) );
float width = ColumnText.getWidth( phrase );

ColumnText.showTextAligned (
    canvas,
    Element.ALIGN_LEFT,
    phrase,
    canvas.getPdfDocument( ).right( ) - width,
    canvas.getPdfDocument( ).top( ) + 9,
    0
);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top