刚研究了一下PDF文件现在把研究成果写在下面。
用户的需求都是这么BT:
1.
用网页打开 PDF文件。
2.
只可以浏览但是不许打印保存。
仔细分析之后发现之前见过这样的PDF档没有工具栏,打印的按钮灰掉。
但是如果用IE打开文件也会在IE的临时文件夹里面找到。只有做到清缓存。
PDF的文件用IE打开的时候自己有工具栏。真是要死了,在网上搜了很久如何屏蔽打印和保存,搜到的都是如何破解。考虑了两个开源保PDFBox和iText。想要用PdfBox实现屏蔽打印但是在官网上面找到的例子都是着重在数据抽取上的,觉得他的实现其实做得不好(可能是对他不够了解)在它身上花了2天时间之后转去考虑iText.
Itext官网上面的实例很全面而且实现起来也很简单。下面是实现代码:
import
java.io.FileOutputStream;
import
com.lowagie.text.Document;
import
com.lowagie.text.Font;
import
com.lowagie.text.PageSize;
import
com.lowagie.text.Paragraph;
import
com.lowagie.text.Rectangle;
import
com.lowagie.text.pdf.PdfContentByte;
import
com.lowagie.text.pdf.PdfCopy;
import
com.lowagie.text.pdf.PdfEncryptor;
import
com.lowagie.text.pdf.PdfImportedPage;
import
com.lowagie.text.pdf.PdfReader;
import
com.lowagie.text.pdf.PdfWriter;
public
class
PdfHandle {
public
void
hideBars(String inputFile,String outFile)
{
//
复制一个
PDF
try
{
//
创建一个
reader
PdfReader reader =
new
PdfReader(inputFile);
int
n = reader.getNumberOfPages();
//
得到第一页
Rectangle psize = reader.getPageSize(1);
float
width = psize.height();
float