0
我想在寫入之前將現有的PDF複製到另一個PDF中。 這裏是我的代碼將現有的PDF複製到ByteOutputStream:Pdfcopy返回一個空白pdf
documentPDF.open()
for(int i=0;i<nbPages;){
copy.addPage(copy.getImportedPage(reader, ++i))
}
documentPDF.close()
copy.close()
PdfReader reader= new PdfReader("DocDeBase30.pdf");
reader.selectPages("1-5")
def documentPDF =new Document()
ByteArrayOutputStream baos = new ByteArrayOutputStream()
PdfCopy copy = new PdfCopy(documentPDF, baos)
documentPDF.open()
for(int i=0;i<nbPages;){
copy.addPage(copy.getImportedPage(reader, ++i))
}
documentPDF.close()
copy.close()
reader.close();
return baos
然後我用這一步渲染PDF文件,以我的觀點:
response.setContentType("application/pdf")
response.setHeader('Content-disposition', "attachment; filename=intercalaire.pdf")
response.outputStream << result
response.outputStream.flush()
result.close()
,其中結果是返回BAOS。
該文件正在我的瀏覽器中正確打開,但它是空白的,沒有被複制。
爲您的信息,它工作正常時,我使用物理路徑,而不是使用ByteArrayOutputStream但我必須在我的應用程序中使用動態文檔,因此物理路徑不是一個選項。
有什麼想法?
THX提前
也許你正在這裏解釋的字節:http://itext.2136553.n4.nabble.com/Blank-PDF-after-it-is-transfered-through-SMTP-td2228773。 html沒有看到PDF,我們可以告訴你關於這個問題的其他信息。如果頁面在那裏,但頁面的內容爲空,則您的服務器被配置爲提供純文本並且不能提供二進制數據。 –