Pregunta

Yo uso wkhtmltopdf en mi proyecto Java con ProcessBuilder y Process:

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

Esta solución utiliza un archivo HTML como entrada y guardar la salida como archivo PDF en el disco. Pero mi HTML no es un archivo, es una versión de salida y quiero crear un archivo PDF en volar y no quiere guardarlo en el disco.

¿Hay alguna forma de pasar el parámetro con Outputstream y obtener el resultado como otra versión de salida?

¿Fue útil?

Solución

Si pasa ":" en lugar de "SURRADO.PDF", debe obtener la salida como Stream.Luego, es posible que pueda agarrar esa corriente, pero asegúrese de probar de antemano y unirse a STDERR y STDOUT y depurar tanto su salida como WKHTMLTOPDF puede ser un poco obstinado:)

En C # El reenvío es bastante fácil y STDIN / STDERR / STDOUT son arroyos.Tienes que probar con las tres salidas WKHTML a ambos, una para la salida PDF y una para la salida de la interfaz de usuario que ve al iniciarse desde la línea de comandos.Lo siento por la falta de Java o un ejemplo de trabajo, no he intentado esto, ya que mis procesos están en cola y escriben en el disco.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top