VB.NETで、iTextSharp を使って PDF ファイルを生成しているプログラムがあり、その修正をしていたのだが、文字色を変えてくれと言われて色々ググったのだが記事を見つけられなかったのでメモっておく。
iTextSharp の使い方をググっても、本家や一部のエロい人の記事をそのままコピってるような記事が多くて辟易するわ・・・。ソース例をそのまま持ってきてるやつとかな(^^;;; そういうページは検索のときにホントに邪魔だから作らないで・・・と強く思う(笑)
あ、話がずれた。
iTextSharp でフォント色を設定するのは、以下のようなやり方で。
(テンプレートの PDF を読み込んできてアレコレ・・・のところは省きます)
Dim cb As PdfContentByte' ベースフォントの設定(msmincho.ttc、水平方向文字、フォント埋込をする)' 日本語フォントはフルパス指定でDim bf As BaseFont = BaseFont.CreateFont("c:\windows\fonts\msmincho.ttc,0", BaseFont.IDENTITY_H, True)cb.BeginText()cb.SetRGBColorFill(0, 0, 192) ' 色指定(青 #0000C0)cb.SetFontAndSize(bf, 13) ' 文字サイズ 13po
これで、
' 中央よせ(X=100,Y=200 指定したところが中心になる)で文字セットcb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "私は慎吾", 100, 200, 0)
とすれば「左下を 0:0」として、文字列の横の中心を 100 の位置とした "私は慎吾" が PDF に設定される。
コメントする