// --------------------------------------------------------------------------- /** * Manipulates a PDF file src with the file dest as result * @param src the original PDF */ public byte[] ManipulatePdf(byte[] src) { PdfReader reader = new PdfReader(src); using (MemoryStream ms = new MemoryStream()) { using (PdfStamper stamper = new PdfStamper(reader, ms)) { AcroFields form = stamper.AcroFields; form.SetField("choice_1", "NL"); form.SetListSelection("choice_2", new String[] { "German", "Spanish" }); String[] languages = form.GetListOptionDisplay("choice_3"); String[] exportvalues = form.GetListOptionExport("choice_3"); int n = languages.Length; String[] new_languages = new String[n + 2]; String[] new_exportvalues = new String[n + 2]; for (int i = 0; i < n; i++) { new_languages[i] = languages[i]; new_exportvalues[i] = exportvalues[i]; } new_languages[n] = "Chinese"; new_exportvalues[n] = "CN"; new_languages[n + 1] = "Japanese"; new_exportvalues[n + 1] = "JP"; form.SetListOption("choice_3", new_exportvalues, new_languages); form.SetField("choice_3", "CN"); form.SetField("choice_4", "Japanese"); } return(ms.ToArray()); } }
public virtual void TestComboboxDisplayValues() { try { PdfReader reader = new PdfReader(PDF_COMBO); AcroFields acroFields = reader.AcroFields; string[] actual = acroFields.GetListOptionDisplay(PDF_COMBO_FIELD_NAME); Assert.AreEqual(PDF_COMBO_VALUES.Length, actual.Length); for (int i = 0; i < PDF_COMBO_VALUES.Length; i++) { Assert.AreEqual(PDF_COMBO_VALUES[i], actual[i]); } } catch (IOException e) { Assert.Fail(e.Message); } }