gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:41 31 4
gpt4 key购买 nike

我在带有 ProccessBuilder 和 Process 的 Java 项目中使用 wkhtmltopdf:

ProcessBuilder pb = new ProcessBuilder("wkhtmltopdf.exe", "input.html", "output.pdf");
进程process = pb.start();

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

有没有办法用 OutputStream 传递参数并作为另一个 OutputStream 获取结果?

最佳答案

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

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

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

关于java - 如何在 java 中使用 wkhtmltopdf 将 pdf 导出到 OutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494058/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com