2011-09-20 15 views
5

Deseo convertir un archivo HTML en un archivo PDF, usando R.Convierte (imprime) un archivo a PDF, ¿usando R? (en Windows)

¿Existe algún comando, o una combinación de herramientas/comandos, que pueda realizar esta conversión?

+0

No es realmente una pregunta R, ya que no hay forma de que R pueda hacerlo. Tendría que llamar a una utilidad externa, que es el paso fácil para hacerlo desde R. El paso difícil es la conversión de HTML a PDF: con "archivo HTML" ¿se refiere a la versión _renderred_ o al texto HTML simple? Para renderizar HTML, casi necesita un navegador web para manejar las imágenes, hojas de estilo, posiblemente javascript. – Spacedman

+0

Hi spacedman: me refiero al texto HTML sin formato. Si te entiendo correctamente, necesitaría R "ejecutar" el comando de impresión desde mi navegador. ¿Es eso posible? –

+1

¿Desea una linda impresora HTML? ¿Destacando etiquetas, coloreando texto, ese tipo de cosas? – Spacedman

Respuesta

3

Existen algunos servicios web que realizan conversiones de HTML a PDF y tienen API REST para que pueda llamarlos al RCurl. Una búsqueda rápida en Internet da pdfcrowd.com. Te permiten subir documentos y convertir URL, pero es un servicio pago.

El próximo golpe es joliprint, que es gratis. Prueba esto:

library(RCurl) 
url_to_convert <- curlEscape("http://lifehacker.com/5706937/dont-make-important-decisions-until-your-decision-time") #or wherever 

the_pdf <- getForm(
    "http://eu.joliprint.com/api/rest/url/print", 
    url = url_to_convert 
) 
+0

Parece que tengo problemas de firewall molestos. ¿Puede alguien no comprometido por una red corporativa probar mi código, por favor? –

+0

Da una advertencia. y el archivo de salida no parece funcionar. ¡Aunque tu dirección parece interesante! # mensaje de advertencia: # En testCurlOptionsInFormParameters (.params): # encontrado posibles opciones de enrollamiento en los parámetros de la forma: url gato (the_pdf, file = "D: \\ temp.pdf") es su –

+0

cualquier método convertir pdf a html usando R –

1

wkhtmltopdf es una herramienta multiplataforma agradable para esto. Instale según corresponda para su sistema operativo, luego llame desde R, p.

system("wkhtmltopdf --javascript-delay 1 in.html out.pdf") 

I conocer el retardo javascript necesario para evitar el mensaje "Carga [Contrib] /a11y/accessibility-menu.js" ser incluido en la pdf como resultado de mathjax de carga - que los archivos HTML generado por R markdown va a hacer

Cuestiones relacionadas