Cómo exportar PDF a Outputstream con WKHTMLTOPDF en Java
-
14-11-2019 - |
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?
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;