Как экспортировать PDF для вывода с помощью WHTMLTOPDF в Java

StackOverflow https://stackoverflow.com/questions/9494058

Вопрос

Я использую WHTMLTOPDF в моем проекте Java с ProCcessBuilder и Process:

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

Это решение использует HTML-файл в качестве ввода и сохранения вывода в виде файла PDF на диске. Но мой HTML не является файлом, это выходной по течению, и я хочу создать файл PDF на лету и не хочу сохранить его на диске.

Есть ли путь для прохождения параметра с помощью вывода и получить результат в качестве другого вывода?

Это было полезно?

Решение

Если вы пройдете «-» вместо «вывода .pdf», вы должны получить вывод как поток.Тогда вы сможете воспользоваться этим потоком, но обязательно проверяйте заранее, и свяжитесь на STDERR и STDOUT, а также отладки как их вывод, так как WHTMLTOPDF может быть немного упрямым:)

в C # Пересылка довольно проста, а STDIN / STDERR / STDOUT являются потоками.Вы должны проверить со всеми тремя, как выходы WHTML для обоих, один для вывода PDF и один для вывода пользовательского интерфейса, который вы видите при запуске из командной строки.Извините за отсутствие Java или рабочего примера, я на самом деле не пробовал это, так как мои процессы в очереди, и они пишут на диск.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top