1

我正在使用 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 文档并添加了这行代码pd4ml.generatePdfa(true);当我在 adobe reader 中打开文档并看到这条消息“此文件声称符合 pdf/a 标准并且已以只读方式打开”时,我认为问题已解决,但当然它仍然是可编辑的;因此,任何关于如何在 pd4ml 中完成此操作的建议,或任何对我可以用来将此限制添加到生成的 pdf 的 api 的引用都将受到欢迎。

4

1 回答 1

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

于 2015-07-30T08:32:05.467 回答