丢失使用itext添加到pdf中的javascript

时间:2013-05-20 19:05:08

标签: pdf itext

我正在尝试使用itext将javascript添加到pdf中,然后将其与另一个pdf合并。 但最终合并的pdf不包含javascript。如果pdf未与另一个pdf合并,则javascript正常工作。

合并代码     FileOutputStream sectionR = new FileOutputStream(RESULT);

PdfCopyFields copier = new PdfCopyFields(sectionR);

 for (String curInPath : listFile) {

       PdfReader reader = new PdfReader(curInPath);
        copier.addDocument(reader);

      }

   copier.close();

我尝试将JS添加到生成的合并pdf中,但它没有接受它。我想它不可编辑。

以下是将JS添加到pdf的代码,该代码尚未合并。

FileOutputStream section1Pdf = new FileOutputStream("newPDFSection");

PdfReader readerSection1 = new PdfReader("Existing PDF - Section 1");

PdfStamper stamperSection1 = new PdfStamper(readerSection1,section1Pdf);

stamperSection1.addJavaScript(
"var nameField = this.getField('txtOwnerCity');" +              "nameField.setAction('Keystroke'," +"'forceUpperCase()');" +
      "" +"function forceUpperCase(){" +
"if(!event.willCommit)event.change = " +
"event.change.toUpperCase();" +
"}");

当我尝试将JS添加到生成的合并pdf时,它不允许我说它不再可编辑。

我正在尝试添加

FileOutputStream sectionR = new FileOutputStream(RESULT);

            PdfCopyFields copier = new PdfCopyFields(sectionR);


            for (String curInPath : listFile) {

                PdfReader reader = new PdfReader(curInPath);
                copier.addDocument(reader);             
}
copier.close();

PdfReader readersectionResult = new PdfReader("result.pdf");

PdfStamper stamper = new PdfStamper(readersectionResult, new FileOutputStream("newResult.pdf"));

stamper.addJavaScript(some JS);

我得到的错误是'警告:无法设置标头。响应已经提交。'

我不确定我是否正在上面这样做,我所要做的就是获得pdfstamper的结果pdf来添加新的JS。

当我尝试编辑表单字段值时,它表示不再可编辑。

AcroFields acro =压模.getAcroFields();

acro.setField( “txtOfficerName” + officerChar,officerSO.getFullName());

0 个答案:

没有答案