iTextSharp を使用して PDF ページにテキストを描画しています。2 つの要件があります。
PdfContentByte.ShowText() を使用して単語ごとにテキストを描画できますが、各文字が描画される場所を制御することはできません。PdfContentByte.ShowText() を使用して文字ごとにテキストを描画できますが、検索できません。私は現在、両方の要件を満たすように見える PdfTextArray を作成しようとしていますが、正しいオフセットを計算するのに問題があります。
私の最初の質問は、私の最初の要件の両方を満たすために、PdfTextArray が私がしなければならないことであることに同意しますか?
もしそうなら、私は PdfTextArray を正しく動作させています (テキストを出力しているという点で) が、文字の各ペアの間に配置する必要がある位置オフセットを正確に計算する方法がわかりません (現在、固定を使用しています関数が機能することを証明するためだけに値 -200 を指定します)。
ポジショニングオフセットは、前の文字の右端から新しい文字の左端までの距離であり、「テキストスペースの1000分の1」で表されると思います。それは私に2つの問題を残します:
1) 指定されたフォントと高さで描かれた前の文字の幅 (ポイント単位) は? (そこに描いたので、左端がどこにあるか知っています)
2) ポイントを「テキストスペースの単位」に変換するにはどうすればよいですか?
私は派手なスケーリングや回転を行っていないので、私の変換行列はすべて恒等行列でなければならず、計算を簡素化する必要があります...
ありがとう、クリス