【发布时间】:2013-03-12 15:34:38
【问题描述】:
我正在使用 wkhtmltopdf 转换器将 html 文件转换为 pdf。它工作正常,只是输出不适合 pdf 中的页面。使用 --zoom 2 解决了命令行中的问题,但在我的代码中使用它并没有做任何事情。下面是我的代码。
String wkhtmltopdf = "C:/Program Files (x86)/wkhtmltopdf/wkhtmltopdf.exe ";
String switches = " --zoom 2 ";
ProcessBuilder pb = new ProcessBuilder(wkhtmltopdf, switches, f.getAbsolutePath(), pdfFileName);
Process process = pb.start();
在命令行中这工作得很好。
C:\Program Files (x86)\wkhtmltopdf>wkhtmltopdf.exe --zoom 2 C:\Users\D
esktop\eclipse-jee-indigo-SR2-win32-x86_64\eclipse\temphtml1.htm C:\Users\Desktop\temp\test.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
谁能告诉我我做错了什么?
【问题讨论】:
-
当我遇到类似问题时,使用
disable-smart-shrinking对我有用。您可能必须将所有margin-*设置为0。 -
我得到 Unknown long argument --zoom 1.5 --margin-right 0 --margin-top 0 --margin-bottom 0 --margin-left 0。为什么它在命令行中起作用不在我的代码中?
-
禁用智能收缩不起作用,缩放起作用。但不在我的代码中。我猜这与参数如何传递给 processbuilder 有关。有什么想法吗?
标签: java process wkhtmltopdf processbuilder