我正在使用 Netbeans,谷歌应用引擎,java 。当我尝试按如下方式创建pdf时,它会显示此错误。
Java.io.FileOutputStream是Google App Engine中的受限制类。
我的代码是,
Document document = new Document();
PdfWriter.getInstance(document, new BufferedOutputStream(new FileOutputStream("C:\\Examplenamaaaa.pdf")));
document.open();
PdfPTable table = new PdfPTable(2);
PdfPCell cell = new PdfPCell(new Paragraph("column span 2"));
cell.setColspan(2);
table.addCell(cell);
table.addCell("1");
table.addCell("Namita");
table.addCell("2");
table.addCell("Asmita");
document.add(table);
document.close();
答案 0 :(得分:1)
您正在编写在C驱动器上创建PDF文件的代码。虽然这可能适用于您的计算机,但它可能不适用于Google App Engine。
相反,您可以尝试将PDF写入ByteArrayOutputStream
(例如),然后将其发送回Web浏览器,以便您可以查看生成的PDF。
ByteArrayOutputStream
的行为与FileOutputStream
完全相同,但字节不会写入文件,而是写入byte[]
(因此名称)。它们都扩展了OutputStream
接口,因此无需对代码进行进一步更改即可切换它们。
将响应流式传输回浏览器isn't supported in GAE ,以便您可以考虑将ByteArrayOutputStream
的内容存储在BlobStore中,以便稍后将其提供给浏览器。