我很抱歉,但是您没有提供任何要我重构的内容。如果您能提供一些具体的细节或者一个主题,我会很愿意帮助您重新组织和优化这些内容。
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.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
public class PdfHandle {
public void hideBars(String inputFile, String outFile) {
try {
// 复制一个PDF
PdfReader reader = new PdfReader(inputFile);
int n = reader.getNumberOfPages();
// 得到第一页
Rectangle psize = reader.getPageSize(1);
float width = psize.height();
float height = psize.width();
// step 1: 创建一个document对象
Document document = new Document(new Rectangle(width, height));
// step 2: 创建一个write
PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile));
//设置隐藏菜单栏和工具栏
writer.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
// step 3: 打开 document
document.open();
// step 4: 一页一页添加内容
int i = 0;
while (i < n) {
document.newPage();
i++;
PdfImportedPage page1 = writer.getImportedPage(reader, i);
writer.addPage(page1);
}
// step 5: 关闭document
document.close();
} catch (Exception de) {
de.printStackTrace();
}
}
public void notAllowPrint(String inputFile, String outFile) {
try {
PdfReader reader = new PdfReader(inputFile);
//设置加密权限
PdfEncryptor.encrypt(reader, new FileOutputStream(outFile), null, null, PdfWriter.AllowAssembly | PdfWriter.AllowFillIn | PdfWriter.AllowScreenReaders, false);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
PdfHandle pp = new PdfHandle();
pp.hideBars("e://3.pdf", "e://4.pdf");
pp.notAllowPrint("e://4.pdf", "e://5.pdf");
}
}
```