使用PD4ml创建不可编辑的pdf文档

时间:2015-07-30 08:15:42

标签: java pdf pd4ml

我使用pd4ml来创建pdf文档,但是我不希望用户能够使用ms word 2013编辑这些文档。 这是我到目前为止所尝试的

pd4ml = new PD4ML();
pd4ml.setPageSize(PD4Constants.A4);
pd4ml.setPageInsetsMM(new Insets(TOPVALUE, LEFTVALUE, BOTTOMVALUE, RIGHTVALUE));
pd4ml.setHtmlWidth(USERSPACEWIDTH);
pd4ml.enableImgSplit(false);
pd4ml.disableHyperlinks();
//some more code 
pd4ml.render(arrayOfURLs, byteArrayOutputStream);
//some more code

然后我读了PD4ML API documentation并添加了这行代码pd4ml.generatePdfa(true);当我在adobe reader中打开文档并看到此消息时,我认为问题已解决“ 这个文件声称符合pdf / a标准,并且已经以只读方式打开“,但当然它仍然是可编辑的;所以关于如何在pd4ml中完成任何建议,或任何对api的引用我可以用来添加这个对生成的pdf的限制将受到欢迎。

1 个答案:

答案 0 :(得分:0)

试过这个? 这个如果从文档中顺便说一下:

AllowModify

public static final int AllowModify

    Document access permission (bit 4, value = 8).
    Modify the contents of the document by operations other than those controlled by bits 6, 9, and 11.

    See Also:
        PD4ML.setPermissions(String, int, boolean), Constant Field Values

您也可以这样做:

pd4ml.setPermissions("", 0xffffffff ^ PD4Constants.AllowModify, false);

禁用修改。

此处提供更多信息:http://pd4ml.com/cookbook/pd4ml_pdf_security.htm