Example #1
0
// ---------------------------------------------------------------------------

        /**
         * 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());
            }
        }
Example #2
0
        public virtual void TestComboboxExportValues()
        {
            try {
                PdfReader  reader     = new PdfReader(PDF_COMBO_EXPORT);
                AcroFields acroFields = reader.AcroFields;
                string[]   actual     = acroFields.GetListOptionExport(PDF_COMBO_FIELD_NAME);

                Assert.AreEqual(PDF_COMBO_EXPORT_VALUES.Length, actual.Length);

                for (int i = 0; i < PDF_COMBO_EXPORT_VALUES.Length; i++)
                {
                    Assert.AreEqual(PDF_COMBO_EXPORT_VALUES[i], actual[i]);
                }
            } catch (IOException e) {
                Assert.Fail(e.Message);
            }
        }