有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我使用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中实现这一点的建议,或任何我可以用来将此限制添加到生成的pdf中的api的引用,都将非常受欢迎


共 (1) 个答案

  1. # 1 楼答案

    试过这个吗? 顺便说一句,如果从文件中可以看出:

    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