経過報告&新たに質問です。
下記コードを実装し、customerIDを無事に設定することが出来ました。
が、新たな問題が。customerNameがなんかうまく設定できないのです。
症状としては、実行結果は正常終了。
完了後にtmp.pdfを開くとcustomerIDは正しく表示されていて問題ないのですが、
customerNameは何も表示されていない状態です。
ただし、customerNameのフィールドにカーソルを当てると"イソジン"と表示され、
カーソルを外すとまた非表示になってしまう、というよくわからない状態です。
日本語を取り扱う場合になんか特別な制御が必要なのでしょうか?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'"C:\tmp\sample.pdf"
Dim reader As PdfReader = New PdfReader("C:\tmp\sample.pdf")
Dim stamper As PdfStamper = New PdfStamper(reader,
New System.IO.FileStream("C:\tmp\tmp.pdf", System.IO.FileMode.Create))
Dim form As AcroFields = stamper.AcroFields
form.SetField("customerID", "123")
form.SetField("customerName", "イソジン")
stamper.Close()
End Sub
ちなみに何パターンか試したところ以下のように半角英数の場合のみうまくいってるようです。
123→123
AAA→AAA
イソジン→非表示
イソジン→非表示
アアア123イイイ456→123456
いずれの場合もカーソルを当てると設定した文字が正しく表示されます。