java使用ApachePDFBox在PDF中查找javascript代码
我的目标是提取和处理PDF文档可能包含的任何JavasSript代码。通过在编辑器中打开PDF,我可以看到如下对象:
402 0 obj
<</S/JavaScript/JS(\n\r\n /* Set day 25 */\r\n FormRouter_SetCurrentDate\("25"\);\r)>>
endobj
我正在尝试使用ApachePDFBox来实现这一点,但到目前为止运气不佳
此行返回一个空列表:
jsObj = doc.getObjectsByType(COSName.JAVA_SCRIPT);
谁能给我指点方向吗
# 1 楼答案
此工具基于PDFBox中的PrintFields示例。它将以表单的形式显示Javascript字段。我去年为一个在AcroForm字段之间的关系有问题的家伙写了这篇文章(一些字段根据其他字段的值被启用/禁用)。还有其他地方可以使用Javascript
作为奖励,下面是显示所有coString对象的代码:
但是,Javascript也可以在流中。请参见PDF规范“特定于格式副本操作的其他条目”中的JS条目:
您也可以更改上面的代码来捕获costream对象;Costream是从COSDictionary扩展而来的