使用itext5从PDF中删除脚本

时间:2017-11-23 13:58:23

标签: javascript java pdf itext

我正在尝试使用itext删除PDF中可能是恶意的所有对象。我发现我必须删除以下对象:

PdfName.AA
PdfName.JS
PdfName.JAVASCRIPT
PdfName.OPENACTION

我目前正在做的是获取当前页面的PdfDictionary并删除4个对象。

int pages = reader.getNumberOfPages();
for (int i=0; i < pages; i++) {
  PdfDictionary p = reader.getPageN(i);
  if (p!=null) {
    p.remove(PdfName.AA);
    p.remove(PdfName.JS);
    p.remove(PdfName.JAVASCRIPT);
    p.remove(PdfName.OPENACTION);
  }
}

总的来说,似乎没有用。我查看了PDF的内部结构,但在第一级找不到其中一个对象。我是否必须遍历p(递归)返回的所有其他词典? 我试图删除PdfName.ANNOTS以查看代码是否正常工作并且它正在运行 - 所有注释都已删除。

我希望我的问题变得清晰。有人能指出我正确的方向吗?

0 个答案:

没有答案