如何使用java中的wkhtmltopdf将pdf导出到OutputStream

如何使用java中的wkhtmltopdf将pdf导出到OutputStream,java,pdf,outputstream,wkhtmltopdf,Java,Pdf,Outputstream,Wkhtmltopdf,我在我的java项目中使用了wkhtmltopdf和ProcessBuilder和Process: ProcessBuilder pb=newprocessbuilder(“wkhtmltopf.exe”、“input.html”、“output.pdf”); Process进程=pb.start() 此解决方案使用html文件作为输入,并将输出另存为磁盘上的pdf文件。 但我的html不是一个文件,它是一个输出流,我想动态创建pdf文件,不想将其保存在磁盘上 是否有一种方法可以通过Output

我在我的java项目中使用了wkhtmltopdf和ProcessBuilder和Process:

ProcessBuilder pb=newprocessbuilder(“wkhtmltopf.exe”、“input.html”、“output.pdf”);
Process进程=pb.start()

此解决方案使用html文件作为输入,并将输出另存为磁盘上的pdf文件。 但我的html不是一个文件,它是一个输出流,我想动态创建pdf文件,不想将其保存在磁盘上

是否有一种方法可以通过OutputStream传递参数并将结果作为另一个OutputStream获取?

如果传递“-”而不是“output.pdf”,则应将输出作为流获取。然后,您可能能够获取该流,但请确保事先进行测试,并绑定到stderr和stdout,并调试它们的输出,因为wkhtmltopdf可能有点顽固:)

在C#中,转发相当容易,stdin/stderr/stdout是流。您必须测试所有三个as wkhtml输出,一个用于pdf输出,另一个用于从命令行启动时看到的用户界面输出。很抱歉,缺少Java或工作示例,因为我的进程在排队,它们会写入磁盘,所以我实际上没有尝试过这种方法

Process _process = new Process();
// Other stuff here
_process.StartInfo.RedirectStandardError = true;
StreamReader sr = _process.StandardError;