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.

1voto

Zac Points 11

J'ai réussi à convertir par lots des fichiers html locaux en PDF - je partage cette approche.

Naviguez vers un dossier contenant un lot de fichiers html que vous voulez convertir...

for %f in (*.html) do (
start /wait chrome --headless --disable-gpu --print-to-pdf="C:/[DESTINATION FOLDER PATH]%f.pdf" "C:/[SOURCE HTML FILE FOLDER PATH -- ALSO CURRENT FOLDER]%f"
)

Note -- doit utiliser un slash avant pour éviter d'annuler le %f dans le chemin du fichier.

0voto

Iurii Points 1

Vous pouvez utiliser cette bibliothèque simple à partir du paquet nuget

Pour .Net Framework https://www.nuget.org/packages/Sats.HTMLtoPdf

Pour Core 3.1 https://www.nuget.org/packages/Sats.Core.HTMLToPdf

Usage#

var url = @"d:\convert.html";
var chromePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe";

var output = new ChromeOptions().AddOptions(b =>
                    {
                        b.Headless();
                        b.DisableGPU();
                        b.WithoutHeader();

                    }).ToPdf(new ChromeDetails()
                    {
                        ChromePath = chromePath,
                        HtmlPath = url,
                        DeleteOutputFile = true, //optional
                       // OutputPath = @"d:\print.pdf" // (add if Environment.CurrentDirectory does not have access rights)
                    });

   File.WriteAllBytes(@"d:\print.pdf", output.FileDetails.File);

Pour l'application Web, définissez le modèle de processus sur LocalSystem.

enter image description here

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