是否可以在java中使用jasper或itext创建不可打印的pdf?

时间:2017-10-16 07:45:16

标签: java pdf jasper-reports itext

我想使用jasper创建不可打印的pdf,但用户可以显示pdf但不能打印pdf。我不想要任何pdf密码限制。我研究过jasper文档,但我找不到任何关于它的信息。

有没有解决我的问题?我已经感谢你的帮助了。

1 个答案:

答案 0 :(得分:1)

您可以使用iText的PdfStamper对PDF进行后处理:

byte[] pdfContent = /* your PDF content here */;
ByteArrayOutputStream stampedPdfContent = new ByteArrayOutputStream();
PdfReader reader = new PdfReader(pdfContent);
PdfStamper stamper = new PdfStamper(reader, stampedPdfContent);
stamper.setEncryption(null, null, ~(PdfWriter.ALLOW_PRINTING), PdfWriter.STANDARD_ENCRYPTION_128);
stamper.close();
pdfContent = stampedPdfContent.toByteArray(); // your PDF is now non printable