iTextSharp & C# ile Acrobat pro kullanılarak oluşturulmuş bir pdf formunu doldurma sürecindeyim ve bir onay kutusu alanını işaretlemeye çalışırken kendimi sıkışmış buldum.ItextSharp - C# kullanarak pdf formunu doldurun - Checkbox'larla İlgili Sorunlar
Radyo düğmeleri ve metin kutuları için çalışıyorum ancak onay kutusunun çalışmasını sağlayamıyor gibi görünüyor. Ben de bu durumda "Q7b" onay kutusu ismini doğruladı akrobat belgesinde doğrudur ve ben onay kutusunu güncelleştirmek için kullanıyorum kod
altındadır aşağıdaki koduprivate string getfieldnames(AcroFields fields)
{
StringBuilder sb = new StringBuilder();
foreach (string key in fields.Fields.Keys)
{
sb.Append(key + Environment.NewLine);
}
return sb.ToString();
}
kullanarak form üzerinde bulabilirsiniz
using (MemoryStream pdfFlat = new MemoryStream())
{
PdfReader pdfReader = new PdfReader(strPath);
PdfStamper pdfStamp = new PdfStamper(pdfReader, pdfFlat);
AcroFields fields = pdfStamp.AcroFields;
//textfields
fields.SetField("Initiating_Doctor", "Doctor A");
fields.SetField("Speciality", "Surgeon");
//Radiobuttons
fields.SetField("PRELIM_Q1", "Yes");
fields.SetField("PRELIM_Q2", "No");
fields.SetField("PRELIM_Q3", "No");
fields.SetField("PRELIM_Q4", "No");
//checkbox - Set the checkbox to checked but this does not work.
fields.SetField("Q7b", "Yes");
pdfReader.Close();
pdfStamp.FormFlattening = true;
pdfStamp.FreeTextFlattening = true;
pdfStamp.Writer.CloseStream = false;
pdfStamp.Close();
}
Herhangi bir yardım çok takdir edilecektir.
Brad
Yardımlarınız için teşekkürler Mark. Bir ara verdikten ve pdf belgesine daha yakından baktığımda onay kutusunun dışa aktarma değeri özelliğini tuhaf bir değere sahip buldum. Bunu Açık olarak ayarlama ve eşleşecek kodu değiştirerek sorun alanlarını çözdü.Çekil ("Q7b", "Açık"); –
Dikkat et ... formun normal olarak sunulduğu her yerde "tuhaf değer" gerekli olabilir. Eğer onu sadece içeride kullanıyorsan, iyi. Ancak, orijinal gönderim hedefine geri dönmeye çalışırsanız, o alan değerini tekrar çevirmeniz gerekir. Geri almak ve kodunuzdaki garip değeri kullanmak daha kolay. –
Uyarı için teşekkürler. Bu, içsel bir şeydir, bu yüzden değerin değişme etkisi olmayacaktır. –