, , . " PDF" 12.7.4.2.1. 226.
int ffRadio = 1 << 15;
int ffPushbutton = 1 << 16;
Field Widget. , , .
PdfDictionary w = f.Value.GetWidget(0);
(/Ft), /Btn,
if (!w.Contains(PdfName.FT) || !w.Get(PdfName.FT).Equals(PdfName.BTN)) {continue; }
Widget (/Ff) , .
int ff = (w.Contains(PdfName.FF) ? w.GetAsNumber(PdfName.FF).IntValue : 0);
:
if ((ff & ffRadio) == ffRadio) {
} else if (((ff & ffRadio) != ffRadio) && ((ff & ffPushbutton) != ffPushbutton)) {
} else {
}
# WinForm 2011, iTextSharp 5.2.0, , Test.pdf, . .
using System;
using System.IO;
using System.Windows.Forms;
using iTextSharp.text.pdf;
namespace WindowsFormsApplication3 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
var testFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf");
PdfReader reader = new PdfReader(testFile);
var fields = reader.AcroFields;
int ffRadio = 1 << 15;
int ffPushbutton = 1 << 16;
int ff;
foreach (var f in fields.Fields) {
PdfDictionary w = f.Value.GetWidget(0);
if (!w.Contains(PdfName.FT) || !w.Get(PdfName.FT).Equals(PdfName.BTN)) { continue; }
ff = (w.Contains(PdfName.FF) ? w.GetAsNumber(PdfName.FF).IntValue : 0);
if ((ff & ffRadio) == ffRadio) {
} else if (((ff & ffRadio) != ffRadio) && ((ff & ffPushbutton) != ffPushbutton)) {
} else {
}
}
this.Close();
}
}
}