Cómo usar Docverter en AngularJS / NodeJS para convertir el HTML GENERADO a pdf para descargar

API de docverter se menciona en formato curl como se muestra a continuación

curl \ http://c.docverter.com/convert \ -F from=html \ -F to=pdf \ -F input_files[]=@<(echo hello) 

La API indica que el valor de input_files[] debe ser una carga de multipart/form-data file pero en mi aplicación AngularJS, estoy generando dinámicamente un informe (en una ruta específica), lo que significa que no es un archivo html que se puede cargar mediante la carga de archivos controlar.

Mi pregunta puede ser un poco vaga porque al mirar la API de docverter , no puedo saber qué código va en el cliente y qué en el servidor.

En general, estoy buscando una solución que convierta el HTML generado (junto con la hoja de estilo) a un archivo PDF y luego este archivo PDF se descargue en el navegador.

En el lado del servidor, estoy usando Node.js. Aprecie si puede proporcionar claridad sobre cómo ocurre esta conversión.

Bien, aquí está la solución del lado del servidor para solucionar los problemas de cors con docverter.

En realidad es muy poco código para ponerlo en marcha.

Estos cambios suceden en lib/docverter-server/app.rb

 class DocverterServer::App < Sinatra::Base # added code starts here ==> before do headers 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST'] , 'Access-Control-Allow-Headers' => 'Content-Type', 'Content-Disposition' => 'attachment', 'Content-Type' => 'application/octet-stream' end # <=== added ends starts here set :show_exceptions, false 

Para corregir errores para que no se limiten a mostrar conflictos de corazones.

[500, {'Content-Type' => 'application/json', 'Access-Control-Allow-Origin' => '*'}, [MultiJson.dump(hash)]]

en lib/docverter-server/error-handler.rb

En cuanto al lado del cliente angular => Documenté ese arreglo con mi propia pregunta de stack aquí:

cargando blobs de texto como archivo usando $ http o $ resource con angular.js - imitando el estilo de rizo multiparte / carga de formulario