【问题标题】:How to make pdf read only in itext如何使pdf在itext中只读
【发布时间】:2012-05-19 04:57:48
【问题描述】:

我的代码如下

public static void main(String[] args) {
        try 
        {
            PdfReader reader = new PdfReader("D:\\SF_Users.pdf");
            int n = reader.getNumberOfPages();
            Rectangle psize = reader.getPageSize(1);
            Document document = new Document(psize);
            PdfWriter writer = PdfWriter.getInstance(document,
                    new FileOutputStream("D:\\new.pdf"));
            document.open();
            PdfContentByte pdf = writer.getDirectContent();
            document.newPage();
            PdfImportedPage page = writer.getImportedPage(reader, 1);
            pdf.addTemplate(page, .5f, 0, 0, .5f, 60, 120);
            document.close();
        } catch (Exception de) {
        }
    }

在这里我可以在写作的同时阅读pdf,我想让它只读

谢谢

【问题讨论】:

  • “我想让它成为只读” 高级用户可以使用他们控制的机器撤消您可以对 PDF 执行的任何操作,包括覆盖“不打印”和“只读”标志。
  • 是的,我同意你的看法,你说的是管理员和高级用户,但我想给他们一个 pdf 文件,在这种情况下,该文件应该是只读的并且不允许打印我不会让他们选择文件我会向他们发送文件,即使他们不知道文件位置在哪里
  • “即使他们不知道文件位置在哪里” 为什么高级用户不知道或无法找到?
  • 高级用户知道文件位置,但其他人不想知道他们只能读取他们不应该做的任何事情
  • 您确定要采用 DRM 方式吗?

标签: java pdf-generation itext


【解决方案1】:

您是否尝试过使用PdfEncryptionSettings API?

文档的打开权限可以是 AllowPrinting、AllowModifyContents、AllowCopy、AllowModifyAnnotations、AllowFillIn、AllowScreenReaders、AllowAssembly 和 AllowDegradedPrinting。

【讨论】:

    猜你喜欢
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多