76 votes

Comment imprimer pour enregistrer en tant que PDF à partir d'une ligne de commande avec Chrome ou Chromium

Puis-je imprimer vers la destination "Enregistrer en PDF" à partir d'une ligne de commande avec Chrome ou Chromium ? J'aimerais pouvoir convertir automatiquement des fichiers html en PDF avec la fonctionnalité intégrée de Chrome.

74voto

Clyde Lobo Points 322

Chrome a commencé sans tête programme.

Avec cela, nous pouvons créer un pdf. Par exemple, pour Windows, naviguez votre ligne de commande à

C:\Users\{{your_username}}\AppData\Local\Google\Chrome SxS\Application>

Ensuite, appuyez sur la commande :

chrome --headless --print-to-pdf="d:\\{{path and file name}}.pdf" https://google.com

26voto

Rahul_Dange Points 409

Vous devez utiliser Google Chrome / Chromium 59 ou une version ultérieure. & il n'est disponible que pour les utilisateurs de MAC OS et de Linux.

* Les utilisateurs de Windows doivent encore attendre un certain temps jusqu'à la Version 60 *

Commandement :

$ google-chrome --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

$ chromium-browser --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

Référence : https://developers.google.com/web/updates/2017/04/headless-chrome

EDIT : Google Chrome / Chromium 60 a été déployé pour les utilisateurs de Windows.

Utilisation des commandes dans CMD :

C:\Program Files\Google\Chrome\Application> chrome.exe --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

Le nom de votre fichier pdf fichier1.pdf sera sauvegardé dans

" C:\Program Fichiers ou (x86) \Google\Chrome\Application\60.0.3112.113 (chrome-version) \file1.pdf "

6voto

Tony Heupel Points 947

Au lieu de faire appel à un navigateur web complet, pourquoi ne pas utiliser le moteur de rendu HTML pour faire le travail ? Utilisez wkhtmltopdf pour effectuer la conversion.

wktohtml

Vous pouvez également convertir un site web existant en PDF

$ wkhtmltopdf http://google.com google.pdf

Remarque : techniquement, le moteur de rendu de Google Chrome est Blink, qui est un dérivé de Webkit. Il y a plus de 90 % de code commun entre Blink et Webkit, vous devriez donc obtenir un résultat similaire.

4voto

Nate Good Points 141

https://github.com/fraserxu/electron-pdf a été conçu exactement dans ce but.

Le CLI ressemble à ceci : $ electron-pdf http://fraserxu.me ~/Desktop/fraserxu.pdf

3voto

Sam Watkins Points 807

J'ai écrit un petit wrapper script pour Chrome{,ium} headless, appelé html2pdf .
Ghostscript est là pour réduire la taille du fichier et pour sélectionner une série de pages :

#!/bin/sh -eu
in=$1 out=$2 page0=${3:-} page1=${4:-$page0}
${CHROME:-chromium} --headless --disable-gpu \
    --run-all-compositor-stages-before-draw --print-to-pdf-no-header \
    --print-to-pdf="$out" "$in"
GS_ARGS=
if [ -n "$page0" ]; then
        GS_ARGS="-dFirstPage=$page0 -dLastPage=$page1"
fi
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH $GS_ARGS -sOutputFile="$2.tmp" "$2"
mv "$2.tmp" "$2"

Exemple d'utilisation :

html2pdf https://ucm.dev/resume.html ucm.pdf 1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X