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.
Réponses
Trop de publicités?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.
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.
- Réponses précédentes
- Plus de réponses