私はこの問題で苦労しています。私はフィールドを持つPDFファイルを持っているので、ユーザーはそれらを記入することができます。Acrofieldの塗りつぶしが意図したとおりに機能しない
iTextSharp(vb.net上)を使用してPDFファイルを開き、フィールドを読み込んでデータを書き戻して(ユーザーに表示します)。
文書はロックされておらず、セキュリティ対策もありません。
次のように私はそれを読む:
Dim readerPDF As New PdfReader(Application.StartupPath & "\PDF\" & filename)
Dim pathTemp = IO.Path.GetTempFileName & ".pdf"
Dim stamperPDF As New PdfStamper(readerPDF, New IO.FileStream(pathTemp, IO.FileMode.Create))
Dim pdfFormFields As AcroFields = stamperPDF.AcroFields
を、私は単純にループpdfFormFields(私はすでにデータベースに保存された各フィールドのキーを持って
For each f as field_keys
pdfFormFields.SetField(f, "dummy text")
Next
これは、すべてのテキスト入力のための素晴らしい作品。何も問題はありません。私が複数行のフィールドを持っている場合、このことは厄介なものになります。
このアプローチを使って塗りつぶすと、私には:
しかし、私には、Adobe Readerで、元のPDFファイルを開くと、私は私が得る同じ書く場合:
だから... ...私もこれを見てする方法がわかりませんのインターネット上でiTextSharpはこれをサポートしていないのですか、何か不足していますか?
EDIT:Link to PDF
EDIT: iTextのDLLが時代遅れでした。最新のものをダウンロードしても、問題は引き続き発生します。
問題のPDFを共有できますか? – mkl
@mklありがとう! Q. – Jaxedin