J'ai un fichier HTML qui utilise un style.css et a des couleurs, par exemple:
<font style=BACKGROUND-COLOR:red; color=white>FOO</font>
Comment "exporter" ce fichier local sur mon Ubuntu 12.04 vers un PDF? (l'apparence et la couleur doivent rester les mêmes). J'ai essayé par exemple: Ctrl+ P-> imprimer au format PDF, mais cela n'a pas conservé les couleurs. J'ai essayé htmldoc
avec l' --color
option .. mais c'est le même problème ..
Ce serait formidable de le faire via la ligne de commande.
Réponses:
Ouvrez votre fichier html dans LibreOffice Writer puis, sous
File
dans le menu, choisissezexport to PDF
. C'est ça.Si vous préférez la ligne de commande, jetez un œil à Convertir la page HTML en PDF en utilisant l'outil Open Source - Linux / OS X / Windows .
Le logiciel peut être installé à l'aide de
sudo apt-get install wkhtmltopdf
.la source
Webkit HTML en PDF:
http://wkhtmltopdf.org/
http://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/
La dernière version est sans tête (ne nécessite pas de serveur X).
Autre possibilité: phantomjs est un navigateur web sans tête magique, également basé sur webkit html. Il peut notamment exporter une page au format PDF.
http://phantomjs.org
la source
brew install Caskroom/cask/wkhtmltopdf
.WeasyPrint semble prometteur. J'ai essayé
wkhtmltopdf
et bien que cela rend les choses d'une manière acceptable, il ne rend pas tout correctement et crée des fichiers PDF qui prennent plusieurs secondes pour s'ouvrir!Installer
Courir
En supplément, il peut être utile de modifier le CSS si vous souhaitez que la vue du navigateur et le PDF soient identiques.
la source
weasypeasey
mais n'a pas fonctionné .. Peut-être pourriez-vous aider? :) J'ai d'abord fait ceci:apt-get install python-dev python-pip python-lxml libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
et ensuite j'installe pip avecpip install weasypeasy
mais obtient cette erreur:Could not find any downloads that satisfy the requirement weasypeasy
weasyprint
. Doncpip install weasyprint
weasyprint
est bon mais environ 15 fois plus lent quewkhtmltopdf
si je me souviens bien, il ne nous convenait donc pas de générer des rapports à la demande pour nos clients.wkhtmltopdf
peut être persuadé de faire du bon travail même pour des rapports complexes ... avec un effort considérable!L' extension Web2PDFConverter pour Chrome ou Chrome convertit n'importe quelle page Web en PDF.
Ou, vous ne pouvez utiliser que ce site: http://pdfcrowd.com/ . Pour les fichiers locaux: http://pdfcrowd.com/#convert_by_upload
la source
Vous pouvez essayer d'utiliser PhantomJS et du code, par exemple en utilisant rasterize.js :
Ou utilisez NodeJS
html-pdf
npm (voir GitHub , installez vianpm install -g html-pdf
comme suggéré dans le commentaire. Usage:la source
J'ai essayé WeasyPrint comme suggéré par d'autres. Il ne se convertit pas bien dans de nombreuses pages et, dans certaines pages, il échoue simplement avec une erreur.
L'addon Firefox suivant fonctionne pour moi. Firefox 55. Il indique Windows uniquement mais il fonctionne sur Ubuntu.
Coup de feu
la source
Essayez Dompdf (vérifiez le code source sur GitHub ) qui est un convertisseur HTML en PDF. Cette bibliothèque est très facile à utiliser et également très facile à installer. Utiliser le compositeur vous pouvez le configurer assez rapidement.
Exigences: PHP 5.0+ (5.3+ recommandé), extension DOM, extension GD
Exemple de code PHP:
la source