嗨我正在使用ITextSharp來創建PDF。這是我的代碼:如何使用ItextSharp動態添加文本框值?
private void FillForm()
{
_path = HttpContext.Current.Server.MapPath("~/") + "\\PDF";
string formFile = _path + "\\Test.pdf";
string newFile = _path + "\\Test2.pdf";
var reader = new PdfReader(formFile);
using (var stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create)))
{
AcroFields fields = stamper.AcroFields;
var conn = new SqlConnection(DataManager.ConnectionString);
conn.Open();
var command = new SqlCommand("SQLCommand"), conn);
var dt = new DataTable();
var adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
int rowIndex = 1;
for (int i=0; i < dt.Rows.Count; i++)
{
var name = (string)dt.Rows[i]["Parameter"];
fields.SetField("txt_" + rowIndex, name);
rowIndex++;
}
stamper.FormFlattening = false;
stamper.Close();
}
}
我有一個問題,當我試圖將用戶名填入文本框。我有一個從SQL查詢中得到的名稱列表,我想在不同的文本框中顯示它。 只有第一個文本框顯示其值。對於其他人我必須點擊文本框來查看裏面的值。
有沒有人有任何想法我可以解決它?
你在哪裏/如何將它們添加到文本框?我看不到代碼片段在這裏有什麼相關性 – Sayse
這裏我設置文本框的值: fields.SetField(「user_」+ rowIndex,name); – DID
你以後使用什麼來查看文件,你有嘗試過不同的pdf閱讀器嗎? –