保护/禁止打印和保存pdf

时间:2019-01-03 09:55:23

标签: javascript java pdf encryption embed-tag

我尝试了几种解决方案,但没有帮助 我有一个PDF文件,其中包含机密信息,仅需查看 不应有打印或另存为pdf的选项。

使用Java StandardProtectionPolicy 我尝试使用以下解决方案加密pdf

PDDocument doc = PDDocument.load(new File(myFile));
int keyLength = 128;
AccessPermission permissions = new AccessPermission();
permissions.setCanPrint(false);
permissions.setReadOnly();
permissions.setCanExtractContent(false);
permissions.setCanPrintDegraded(false);

StandardProtectionPolicy spp = new StandardProtectionPolicy(null, null, permissions);
spp.setEncryptionKeyLength(keyLength);
spp.setPermissions(permissions);
doc.protect(spp);

该文件已使用代码加密,并阻止用户打印它。

我是一个后端编码器,所以对UI脚本的了解较少

该文件在浏览器中显示为chrome,因为它可以选择将其另存为pdf。 我也需要禁用此功能

我尝试了

<embed src="http://URL_TO_PDF.com/pdf.pdf#toolbar=0&navpanes=0&scrollbar=0" width="425" height="425">

禁用了工具栏,现在可以通过右键单击再次保存它。

现在尝试禁用右键单击

<script type="text/javascript">
document.onmousedown = disableRightclick;
var message = "Right click not allowed !!";
function disableRightclick(evt){
    if(evt.button == 2){
        alert(message);
        return false;    
    }
}
</script>

应用于其他内容,但在包含pdf的embade标签上失败

尝试了几乎所有的解决方案

https://stackoverflow.com/a/22368454/6032482 Disable Printing Issue with PDF Box https://www.codexworld.com/how-to/embed-pdf-disable-right-click-using-javascript/ https://www.codeproject.com/Questions/239578/Disable-Right-Click-save-as-print-screen

有什么方法可以防止使用Java或任何脚本保存pdf。 ?

0 个答案:

没有答案