我尝试了几种解决方案,但没有帮助 我有一个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。 ?