Mam plik HTML, który używa style.css i ma kolory, np .:
<font style=BACKGROUND-COLOR:red; color=white>FOO</font>
Jak mogę „wyeksportować” ten lokalny plik na moim Ubuntu 12.04 do pliku PDF? (wygląd i kolor powinny pozostać takie same). Próbowałem np .: Ctrl+ P-> wydrukować do pliku PDF, ale nie zachowało kolorów. Próbowałem htmldoc
z --color
opcją .. ale to ten sam problem ..
Byłoby wspaniale to zrobić za pomocą wiersza polecenia.
Odpowiedzi:
Otwórz plik HTML w programie LibreOffice Writer, a następnie
File
w menu wybierzexport to PDF
. to jest to!Jeśli wolisz wiersz poleceń, spójrz na Konwertuj stronę HTML na plik PDF za pomocą narzędzia Open Source - Linux / OS X / Windows .
Oprogramowanie można zainstalować za pomocą
sudo apt-get install wkhtmltopdf
.źródło
Webkit HTML do PDF:
http://wkhtmltopdf.org/
http://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/
Najnowsza wersja jest bezgłowa (nie wymaga serwera X).
Inna możliwość: phantomjs to magiczna, bezgłowa przeglądarka internetowa, również oparta na html webkit. Może między innymi wyeksportować stronę jako plik PDF.
http://phantomjs.org
źródło
brew install Caskroom/cask/wkhtmltopdf
.WeasyPrint wydaje się obiecujące. Próbowałem
wkhtmltopdf
i chociaż renderuje to w akceptowalny sposób, nie renderuje wszystkiego poprawnie i tworzy pliki PDF, których otwarcie zajmuje wiele sekund!zainstalować
Biegać
Dodatkowo może być pomocna zmiana CSS, jeśli chcesz, aby widok przeglądarki i PDF wyglądały identycznie.
źródło
weasypeasey
ale nie działało .. Może mógłbyś pomóc? :) Najpierw zrobiłem to:apt-get install python-dev python-pip python-lxml libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
a następnie instalowałem pip z,pip install weasypeasy
aleCould not find any downloads that satisfy the requirement weasypeasy
weasyprint
. Tak więcpip install weasyprint
weasyprint
jest dobry, ale około 15 razy wolniejszy niżwkhtmltopdf
pamiętam, więc nie było dla nas odpowiednie generowanie raportów na żądanie dla naszych klientów.wkhtmltopdf
można przekonać do wykonania dobrej pracy nawet przy skomplikowanych raportach ... przy znacznym wysiłku!Rozszerzenie Web2PDFConverter dla Chromium lub Chrome konwertuje dowolną stronę na PDF.
Lub możesz po prostu korzystać tylko z tej strony: http://pdfcrowd.com/ . W przypadku plików lokalnych: http://pdfcrowd.com/#convert_by_upload
źródło
Możesz spróbować użyć PhantomJS i jakiegoś kodu, na przykład używając rasterize.js :
Lub użyj
html-pdf
pakietu npm NodeJS (zobacz GitHub , zainstaluj przez :) ,npm install -g html-pdf
jak sugeruje komentarz. Stosowanie:źródło
Próbowałem WeasyPrint, jak sugerowali inni. Na wielu stronach nie konwertuje się dobrze, a na niektórych stronach po prostu kończy się błędem.
Poniższy dodatek do Firefoksa działa dla mnie. Firefox 55. Mówi tylko Windows, ale działa na Ubuntu.
FireShot
źródło
Wypróbuj Dompdf (sprawdź kod źródłowy na GitHub ), który jest konwerterem HTML na PDF. Ta biblioteka jest bardzo łatwa w użyciu, a także bardzo łatwa w instalacji. Za pomocą kompozytora możesz ustawić go dość szybko.
Wymagania: PHP 5.0+ (zalecane 5.3+), rozszerzenie DOM, rozszerzenie GD
Przykładowy kod PHP:
źródło