对于不允许做修改的PDF文件——就是加密加了权限的PDF,首先要去除密码或者去除数字证书,推荐用PDF Password Remove
B. 李兴华的 java web开发实战经典 pdf 的解密密码是什么
??你从哪个网站下的??
还有我有没加密的。要吗?
C. java判断pdf是否加密
判断方法如下:
try {
new PdfReader("C:\\Password_protected.pdf");
} catch (BadPasswordException e) {
System.out.println("PDF is password protected..");
} catch (Exception e) {
e.printStackTrace();
}
D. JAVA操作PDF的几个问题,是高手的进。
1、我不清楚,没做过相关东西
2、通过js可以实现禁止右键行为
3、页面无法打印好像实现不了,因为浏览器有打印功能会将页面打印出来
E. java如何对pdf文件实现数字签名
用Spire.Doc for Java 可以添加及验证数字签名,参考代码:
importcom.spire.pdf.*;
importcom.spire.pdf.graphics.PdfImage;
importcom.spire.pdf.graphics.PdfTrueTypeFont;
importcom.spire.pdf.security.GraphicMode;
importcom.spire.pdf.security.PdfCertificate;
importcom.spire.pdf.security.PdfCertificationFlags;
importcom.spire.pdf.security.PdfSignature;
importjava.awt.*;
importjava.awt.geom.Point2D;
importjava.awt.geom.Rectangle2D;
publicclassAddCertificate{
publicstaticvoidmain(String[]args){
//加载PDF文档
PdfDocumentdoc=newPdfDocument();
doc.loadFromFile("test.pdf");
//加载pfx证书,及证书秘钥
PdfCertificatecert=newPdfCertificate("Cermia.pfx","123654yes!");
//添加数字签名到指定页面,并设置其位置和大小
PdfSignaturesignature=newPdfSignature(doc,doc.getPages().get(2),cert,"MySignature");
Rectangle2Drect=newRectangle2D.Float();
rect.setFrame(newPoint2D.Float((float)doc.getPages().get(0).getActualSize().getWidth()-340,(float)doc.getPages().get(0).getActualSize().getHeight()-230),newDimension(280,150));
signature.setBounds(rect);
//设置签名为图片加文本模式
signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);
//设置签名的内容
signature.setNameLabel("签字者:");
signature.setName("Mia");
signature.setContactInfoLabel("联系电话:");
signature.setContactInfo("02881705109");
signature.setDateLabel("日期:");
signature.setDate(newjava.util.Date());
signature.setLocationInfoLabel("地点:");
signature.setLocationInfo("成都");
signature.setReasonLabel("原因:");
signature.setReason("文档所有者");
signature.setDistinguishedNameLabel("DN:");
signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());
signature.setSignImageSource(PdfImage.fromFile("sign.png"));
//设置签名的字体
signature.setSignDetailsFont(newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,9)));
//设置文档权限为禁止更改
signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);
signature.setCertificated(true);
//保存文档
doc.saveToFile("AddSignature.pdf");
doc.close();
}
}
数字签名添加效果:
数字签名效果
参考原文
F. java怎样用数字证书加密pdf
这是在这个PDF文件制作的时候就采用了证书模式的加密,你必须在制作的电脑上连同证书一起复制过去,并复制入同样的证书文件夹当中,才可以打开文件!
G. java程序在已经存在的word文档中插入图片并加密保存为pdf格式的文档
我曾经也尝试使用纯java技术去解析word文档,并且使用了apache的jacob,POI等项目,但是由于Microsoft Word使用的doc不是标准DOC文件,而是自己加处理过的,所以现在解析微软的doc都只能靠破解与猜解,据我所知,现在的技术只能从word中提取出来文字,所以使用纯java不太可能实现。
如果使用windows平台的话,可以选择使用微软的一些word控件来达到目的.
H. java怎么解决加密的pdf文件过大问题
这个问题好像真的没办法解决,如果想从根本上解决IText生成文件过大的问题怕是只能自己生成PDF了,毕竟PDF也是一种语言。压缩的话,好像也没有办法使压缩过后仍然是PDF,目前压缩比比较高的方式好像是7z,不过压缩时间比较长
I. java 中 pdfbox 怎么解除加密pdf文件中设置的限制
1、用 Adobe Acrobat Professional就可以对 PDF文件进行加密 步骤 用Adobe Acrobat Professional打开要加密的文件->文件->保全->保全此文件->使用密码限制开启或编辑->新建->使用密码->下一步->输入策略名称->下一步->将 要求密码来开启文件