台灣最大程式設計社群網站
線上人數
1131
 
會員總數:245959
討論主題:189543
歡迎您免費加入會員
討論區列表 >> Java >> PDF+浮水印後檔案無法刪除
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PDF+浮水印後檔案無法刪除
價值 : 50 QP  點閱數:151 回應數:2
樓主

roy
門外漢
0 2
34 2
發送站內信

各位前輩好!!
小弟有疑問請各位相助
小弟寫了一個method PDF+浮水印
檔案可以開,浮水印加上去了,但檔案無法刪除
我已關閉我所知道的流請問我哪邊有問題

=================以下是程式碼=================
public static void PDFAddWaterMark(String PdfPath) throws Exception{
com.lowagie.text.pdf.PdfReader reader = null;
PdfStamper pdfStamper =null;
File pdfFile = new File(PdfPath);
try{
reader = new com.lowagie.text.pdf.PdfReader(new FileInputStream(pdfFile));
pdfStamper = new PdfStamper(reader,new FileOutputStream(pdfFile));
for (int i = 1, pdfPageSize=reader.getNumberOfPages() + 1;i < pdfPageSize; i++) {
PdfContentByte pageContent = pdfStamper.getOverContent(i);
PdfGState gs1 = new PdfGState();
gs1.setFillOpacity(0.4f);
pageContent.setGState(gs1);
float pw = reader.getPageSizeWithRotation(i).getWidth();
float ph = reader.getPageSizeWithRotation(i).getHeight();
Image eye = Image.getInstance(ServiceGetter.getInstance().
getMyServletContext().getServletContext()
.getRealPath("/images")+File.separator+"taipei.bmp");
eye.setAbsolutePosition( (pw/2)-125, (ph/2)-140);
pageContent.addImage(eye, true);
}
pdfStamper.close();
reader.close();
}catch (Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}finally {
if(pdfStamper != null)
pdfStamper.close();
if (reader != null)
reader.close();
}
}




搜尋相關Tags的文章: [ java ] , [ pdf ] , [ watermark ] , [ close ] , [ inputstream ] , [ outputstream ] ,
本篇文章發表於2020-04-06 21:06
1樓
作者回應

roy
檢舉此回應
不常發文 排版傷眼 抱歉各位!!
本篇文章回覆於2020-04-06 21:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

o小高o
檢舉此回應
沒有用過這套寫Pdf.. 不過就單純看起來的話..
pageContent, gs1, eye 比較可疑一點

不然就是debug mode看一下finally確認是否都有進去close這樣

PS:我也覺得排版有點障礙XD,打錯發了好像還不能改和刪QQ

本篇文章回覆於2020-04-07 09:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.