對於不允許做修改的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打開要加密的文件->文件->保全->保全此文件->使用密碼限制開啟或編輯->新建->使用密碼->下一步->輸入策略名稱->下一步->將 要求密碼來開啟文件