Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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中使用OpenHtmlToPdf库下载pdf_Java_Spring Boot_Pdf_Openhtmltopdf - Fatal编程技术网

如何在java中使用OpenHtmlToPdf库下载pdf

如何在java中使用OpenHtmlToPdf库下载pdf,java,spring-boot,pdf,openhtmltopdf,Java,Spring Boot,Pdf,Openhtmltopdf,我想用java将html转换成pdf并下载生成的pdf。我正在使用OpenHtmlToPdf库。它正在生成PDF,但我无法下载它 我可以通过传递文件名下载生成的pdf OutputStream os=newfileoutputstream(“E:\\out5.pdf”); PdfRendererBuilder=新PdfRendererBuilder(); useFastMode(); 使用W3C文档(html5ParseDocument(htmlString,3000),“”); toStrea

我想用java将html转换成pdf并下载生成的pdf。我正在使用OpenHtmlToPdf库。它正在生成PDF,但我无法下载它

我可以通过传递文件名下载生成的pdf

OutputStream os=newfileoutputstream(“E:\\out5.pdf”);
PdfRendererBuilder=新PdfRendererBuilder();
useFastMode();
使用W3C文档(html5ParseDocument(htmlString,3000),“”);
toStream(os);
builder.run();
但是我想下载pdf而不是写在文件里。因此,我编写以下代码:

pdfrenderbuilder builder=new pdfrenderbuilder();
useFastMode();
使用W3C文档(html5ParseDocument(htmlString,80000000),“”);
toStream(httpServletResponse.getOutputStream());
builder.run();
试一试{
httpServletResponse.setContentType(“application/pdf”);
httpServletResponse.setCharacterEncoding(“UTF-8”);
setHeader(“内容处置”,“附件;
文件名=\“qr\u code.pdf\”;
httpServletResponse.flushBuffer();
}捕获(例外e){
logger.error(e.getMessage(),e);
} 
此代码下载pdf,但它是空的

File pdf = new File("E://output.pdf");

OutputStream os = new FileOutputStream(pdf);
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.useFastMode();
builder.withW3cDocument(html5ParseDocument(htmlString,3000),"file:///E://input.html");
builder.toStream(os);
builder.run();
return Pdf;
然后您可以将此文件写入响应输出流


然后您可以将此文件写入响应输出流。

尝试使用中间ByteArrayOutputStream。请参见尝试使用中间ByteArrayOutputStream。看见