我展示在一個PDF如下:如何禁用打印選項爲PDF在IFRAME
<iframe src="/itextPdfServlet" height="600px" width="700px"></iframe>
我想禁用此打印選項。我怎樣才能做到這一點?
我的servlet
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String fullPath = (String) request.getSession().getAttribute("fullPath");
response.setContentType("application/pdf");
ServletOutputStream out = null;
try{
File file = new File(fullPath);
FileInputStream fileIn = new FileInputStream(file);
out = response.getOutputStream();
Document document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.getInstance(document, out);
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfReader reader = new PdfReader(fileIn);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("fullPath"));
stamper.setEncryption("reader_password".getBytes(), "permission_password".getBytes(),
~(PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING), PdfWriter.STANDARD_ENCRYPTION_128);
stamper.close();
PdfImportedPage page = writer.getImportedPage(reader, 1);
document.newPage();
cb.addTemplate(page, 0, 0);
document.add(new Paragraph("my timestamp"));
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
document.close();
}catch(Exception e){
}
}
因爲我想禁用打印選項的原因是它有必須由客戶端查看的機密pdf,他們可以查看它,但他們不應該能夠打印 –
我做了這個亞倫,但它仍然顯示打印和下載選項在IFRAME –
這是我的觀點:由於很多人濫用這一功能,瀏覽器和PDF的觀衆有選擇無視PDF文檔/ JavaScript的請求關閉打印或上下文菜單。如果您的PDF是保密的,請打印並通過快遞發送,讓快遞員等待客戶閱讀並讓它在事後恢復。 –