-3
enter code here
首先,我讓我的pdfFile這樣:的servlet閱讀PDF與矩形
PdfReader pdfr=new PdfReader(filepath1);//existing file
PdfStamper pdfs=new PdfStamper(pdfr, filepath2);//file to be modified
...
PdfContentByte cb=pdfs.getOverContent(1);
cb.setColorFill(new BaseColor(0x00,0x4E,0x44));
cb.rectangle(coordX,min_Y,60,haut);
cb.saveState();
PdfGState state=new PdfGState();
state.setFillOpacity(0.1f);
cb.setGState(state);
cb.fillStroke();
cb.restoreState();
文件PDF是使用Adobe Reader XI, 正確的,但,當我嘗試用servlet來讀它,我不能看到任何矩形。 Servlet:
protected void doPost(...){
File pdfFile=new File(filepath2);
FileInputStream fis=new FileInputStream(filepath2);
response.setContentType("application/pdf");
response.addHeader("Content-Disposition","inline;filename=pdfFN);
response.setContentLength((int) filepath2.length());
OutputStream resOS=response.getOutputStream();
int length=1;
byte[] buffer=new byte[8192];
while((length=fis.read(buffer))!=-1)
{resOS.write(buffer,0,length);
}
fis.close();
resOS.flush();resOS.close();
會發生什麼情況? 在此先感謝。
Servlets不會「閱讀」PDF,當然也不會「查看」PDF,所以我確信您正在嘗試要求其他的東西,但是就像投票拒絕您的問題的人一樣,我沒有知道你在問什麼。你能澄清你的問題嗎?例如:你爲什麼要在磁盤上創建一個文件?你爲什麼不在內存中創建文件(這是在servlet上下文中處理PDF的最常見方式)。另外:你的代碼片段包含幾個錯誤,使得它們無法編譯。我糾正了一些錯誤,但發佈問題時應該更準確。 –