Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Pdf文件未随内容下载_Java_Jsp_Pdf_Struts2_Pdfbox - Fatal编程技术网

Java Pdf文件未随内容下载

Java Pdf文件未随内容下载,java,jsp,pdf,struts2,pdfbox,Java,Jsp,Pdf,Struts2,Pdfbox,我正在尝试下载带有Struts2的PDF文件。为了生成PDF,我使用PDFBox 我可以下载PDF文件,但问题是它的大小是0字节 动作类 公共类BarcodeAction扩展了ActionSupport{ 私有输入流输入流; //接二连三 公共字符串getPdf(){ System.out.println(“获取Pdf”); PDDocument文件=null; 试一试{ 文档=新的PDDocument(); PDPage page=新PDPage(); 文件。添加页(第页); PDFont h

我正在尝试下载带有Struts2的PDF文件。为了生成PDF,我使用PDFBox

我可以下载PDF文件,但问题是它的大小是0字节

动作类

公共类BarcodeAction扩展了ActionSupport{
私有输入流输入流;
//接二连三
公共字符串getPdf(){
System.out.println(“获取Pdf”);
PDDocument文件=null;
试一试{
文档=新的PDDocument();
PDPage page=新PDPage();
文件。添加页(第页);
PDFont headingFont=PDType1Font.TIMES_ROMAN;
PDPageContentStream内容流=
新的PDPageContentStream(文档、页面、false、true);
contentStream.beginText();
contentStream.setFont(headingFont,26);
contentStream.moveTextPositionByAmount(250700);
字符串(“你好,世界!”);
contentStream.endText();
contentStream.close();
ByteArrayOutputStream bos=新建ByteArrayOutputStream();
单据保存(bos);
setInputStream(新的ByteArrayInputStream(bos.toByteArray());
document.close();
}捕获(IOE异常){
e、 printStackTrace();
}捕获(COSVisitorException e){
e、 printStackTrace();
}
回归成功;
}
}
struts.xml


附件filename=test.pdf
申请表格/pdf
输入流
1024
/pages/ExpNImp/Export.jsp
/页面/login.jsp

如何正确下载PDF文件?

我只做了一个更改,但它不起作用 我搬走了
document.close()
从上面的代码


现在它工作正常了

首先尝试此操作并检查它是否正在下载任何pdf
公共字符串getPdf()引发异常{inputStream=new FileInputStream(new File(“C:\\downloadfile.pdf”);返回成功;}
尝试使用contentStream刷新contentStream.flush()操作,结果代码正常。您确定该文件在操作中不是0字节吗?您能否在退出方法之前打印
bos.toByteArray().length
?谢谢您的评论。给出富有成效的建议这很奇怪,毕竟你在关闭文档之前序列化了文档。可能有一些未经破坏的
可丢弃的