2011-09-20 6 views
5

Chcę przekonwertować plik HTML na plik PDF, używając R.Konwertuj (drukuj) plik do formatu PDF - używając R? (w systemie Windows)

Czy istnieje polecenie lub kombinacja narzędzi/poleceń, które mogą wykonać tę konwersję?

+0

Naprawdę nie jest to R, ponieważ nie ma sposobu, żeby R mógł to zrobić. Musiałbyś zadzwonić do zewnętrznego narzędzia, co jest łatwym krokiem do zrobienia tego z R. Trudnym krokiem jest konwersja HTML do PDF - przez "plik HTML" masz na myśli wersję _rendered_ lub zwykły tekst HTML? Aby renderować HTML, potrzebujesz przeglądarki obsługującej obrazy, arkusze stylów, javascript. – Spacedman

+0

Hi spacedman - mam na myśli zwykły tekst HTML. Jeśli dobrze cię rozumiem, będę musiał "uruchomić" polecenie drukowania z przeglądarki. Czy to w ogóle jest możliwe? –

+1

Chcesz więc ładnej drukarki HTML? Zaznaczanie znaczników, kolorowanie tekstu, tego rodzaju rzeczy? – Spacedman

Odpowiedz

3

Istnieje kilka serwisów internetowych, które obsługują konwersję HTML do PDF i mają interfejsy API REST, dzięki czemu można je wywoływać za pomocą RCurl. Szybkie wyszukiwanie w Internecie daje pdfcrowd.com. Pozwalają ci przesyłać dokumenty, a także konwertować adres URL, ale jest to płatna usługa.

Następne trafienie to joliprint, które jest bezpłatne. Wypróbuj to:

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

Wygląda na to, że mam brzydkie problemy z firewallem. Czy ktoś nieobciążony przez sieć korporacyjną powinien wypróbować mój kod. –

+0

Daje ostrzeżenie. a plik wyjściowy nie działa. Chociaż twój kierunek wydaje się interesujący! # komunikat ostrzegawczy: # W testCurlOptionsInFormParameters (.params): # Znaleziono możliwych opcji curl parametrów forma: url cat (the_pdf, file = "d: \\ temp.pdf") –

+0

jest ich dowolna metoda przekonwertować pdf na html za pomocą R –

1

wkhtmltopdf to ładne narzędzie dla wielu platform. Zainstaluj odpowiednią dla swojego systemu operacyjnego, a następnie zadzwoń z R, np.

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

znalazłem opóźnienie JavaScript konieczne, aby uniknąć komunikat „Ładowanie [Contrib] /a11y/accessibility-menu.js” są zawarte w pliku PDF w wyniku załadunku mathjax - które pliki HTML generowanego przez R obniżki zrobi.

Powiązane problemy