我正在尝试使用itext将javascript添加到pdf中,然后将其与另一个pdf合并 . 但最终合并的pdf不包含javascript . 如果pdf没有与另一个pdf合并,则javascript工作正常 .
Merging code : 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中,但它没有接受它 . 我猜它不可编辑 .
Below is the code adding JS to pdf which is not merged yet.
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);
我得到的错误是'警告:无法设置 Headers . 响应已经提交 . '
我不确定我是否正在上面这样做,我想要做的就是得到pdfstamper得到的pdf来添加新的JS .
When I am trying to edit form filed values, it says not editable anymore.
AcroFields acro =压模.getAcroFields();
acro.setField(“txtOfficerName”officerChar,officerSO.getFullName());