Convertir HTML en PDF en Java
Les fichiers PDF présentent de nombreux avantages par rapport à d’autres formats, et il peut arriver que vous ayez besoin de convertir HTML en PDF. Cette conversion est particulièrement utile pour créer des versions de haute qualité et faciles à imprimer de pages web, pour générer des rapports ou pour partager des documents difficiles à éditer ou à modifier.
La possibilité de convertir facilement et de manière fiable des documents HTML dans d’autres formats est l’une des principales caractéristiques d’Aspose.HTML for Java. Dans cet article, vous trouverez des informations sur la manière de convertir du HTML en PDF en utilisant les méthodes convertHTML()
de la classe
Converter, et sur la manière d’appliquer les paramètres
PdfSaveOptions.
HTML en PDF par une seule ligne de code Java
La conversion de HTML en PDF est une fonctionnalité très recherchée, et Aspose.HTML for Java offre une solution simple. Grâce aux méthodes statiques de la classe Converter, vous pouvez convertir un document HTML en fichier PDF en une seule ligne de code !
1// Invoke the convertHTML() method to convert the HTML to PDF
2Converter.convertHTML("<h1>Convert HTML to PDF!</h1>", ".", new PdfSaveOptions(), "convert-with-single-line.pdf");
Dans l’exemple, nous utilisons la méthode convertHTML(content, baseUri, options, outputPath) de la classe Converter qui prend quatre paramètres : une chaîne avec le code HTML à convertir, le dossier de base pour le fichier HTML d’entrée, une instance de la classe PdfSaveOptions et le chemin du fichier de sortie où le fichier converti sera enregistré.
Convertir HTML en PDF en Java
Voyons les instructions pas à pas d’un scénario simple de conversion de HTML en PDF :
- Chargez un fichier HTML en utilisant l’un des constructeurs
HTMLDocument()
de la classe HTMLDocument. Vous pouvez charger du HTML à partir d’un fichier, d’un code HTML, d’un flux ou d’une URL (voir l’article Création d’un document HTML). Dans l’exemple, nous utilisons le constructeurHTMLDocument(address)
qui initialise un document HTML à partir d’un fichier. - Créez un nouvel objet
PdfSaveOptions. Utilisez le constructeur vide
PdfSaveOptions()
pour convertir avec les options d’enregistrement par défaut. - Utilisez la méthode
сonvertHTML(document, options, outputPath)
de la classe Converter pour enregistrer HTML en tant que fichier PDF.
Veuillez examiner l’extrait de code Java suivant, qui illustre le processus de conversion de HTML en PDF avec des instructions étape par étape :
1// Prepare HTML code and save it to a file
2String code = "<span>Hello, World!!</span>";
3try (java.io.FileWriter fileWriter = new java.io.FileWriter("link-to-incoming-document.html")) {
4 fileWriter.write(code);
5}
6
7// Initialize an HTML document from the file
8HTMLDocument document = new HTMLDocument("link-to-incoming-document.html");
9
10// Initialize PdfSaveOptions
11PdfSaveOptions options = new PdfSaveOptions();
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, "document-output.pdf");
Options d’enregistrement – Classe PdfSaveOptions
Aspose.HTML for Java permet de convertir du HTML en PDF en utilisant des options d’enregistrement par défaut ou personnalisées. PdfSaveOptions vous permet de personnaliser le processus de rendu. Vous pouvez spécifier la taille de la page, les marges, les autorisations de fichier, le type de média, etc.
Metod | Description |
---|---|
setJpegQuality(value) | Specifies the quality of JPEG compression for images. The default value is 95. |
getCss() | Gets a CssOptions object which is used for configuration of CSS properties processing. |
setBackgroundColor(value) | Sets the color that will fill the background of every page. By default, this property is Transparent . |
setPageSetup(value) | This method sets a page setup object and uses it for configuration output page-set. |
setHorizontalResolution(value) | Sets horizontal resolution for internal images, in pixels per inch. By default this property is 300 dpi. |
setVerticalResolution(value) | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
setEncryption | This method gets or sets encryption details. If it is not set, then no encryption will be performed. |
Pour en savoir plus sur les PdfSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
Vous pouvez télécharger les exemples complets et les fichiers de données à partir de GitHub.
Convertir HTML en PDF à l’aide de PdfSaveOptions
Avec Aspose.HTML for Java, vous pouvez convertir des fichiers de manière programmatique en contrôlant totalement un large éventail de paramètres de conversion. Il suffit de suivre quelques étapes :
- Charger un fichier HTML en utilisant l’un des constructeurs HTMLDocument() de la classe HTMLDocument.
- Créez un nouvel objet
PdfSaveOptions et spécifiez les propriétés requises. Le constructeur
PdfSaveOptions() initialise une instance de la classe PdfSaveOptions qui est transmise à la méthode
convertHTML()
. - Utilisez la méthode
сonvertHTML(document, options, outputPath)
de la classe Converter pour enregistrer HTML en tant que fichier PDF.
L’exemple Java suivant montre comment utiliser PdfSaveOptions et créer un fichier PDF avec une taille de page, des marges, des résolutions, une couleur d’arrière-plan et une compression personnalisées :
1// Initialize an HTML document from a file
2HTMLDocument document = new HTMLDocument("drawing.html");
3
4// Initialize PdfSaveOptions. Set up the page-size 500x300 pixels, margins,
5// resolutions and change the background color to AliceBlue
6PdfSaveOptions options = new PdfSaveOptions();
7options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
8options.setVerticalResolution(new Resolution(200, UnitType.AUTO));;
9options.setBackgroundColor(Color.getAliceBlue());
10options.setJpegQuality(100);
11options.getPageSetup().setAnyPage(new Page(new Size(500, 300), new Margin(20, 10, 10, 10)));
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, "drawing-options.pdf");
Dans l’exemple ci-dessus, plusieurs options d’enregistrement de PDF ont été utilisées :
setJpegQuality()
spécifie la qualité de compression JPEG pour les images.setBackgroundColor()
définit la couleur de l’arrière-plan.setHorizontalResolution()
etsetVerticalResolution()
définissent les résolutions horizontales et verticales des fichiers PDF de sortie.setPageSetup()
spécifie la taille de la page et les marges pour le document de sortie.
Un autre exemple Java. Ici, nous créons un document HTML à partir de zéro – nous préparons le code HTML et l’enregistrons dans un fichier. Ensuite, nous appliquons PdfSaveOptions
pour convertir le HTML en PDF :
1// Prepare HTML code and save it to a file
2String code = "<h1> PdfSaveOptions Class</h1> " +
3 "<p>Using PdfSaveOptions Class, you can programmatically " +
4 "apply a wide range of conversion parameters " +
5 "such as BackgroundColor, HorizontalResolution, VerticalResolution, PageSetup, etc.</p>";
6
7FileHelper.writeAllText("save-options.html", code);
8
9// Initialize an HTML Document from the HTML file
10HTMLDocument document = new HTMLDocument("save-options.html");
11
12// Set up the page-size, margins and change the background color to AntiqueWhite
13PdfSaveOptions options = new PdfSaveOptions();
14options.setBackgroundColor(Color.getAntiqueWhite());
15options.getPageSetup().setAnyPage(
16 new Page(
17 new Size(Length.fromInches(4.9f), Length.fromInches(3.5f)),
18 new Margin(30, 20, 10, 10)
19 )
20);
21
22// Convert HTML to PDF
23Converter.convertHTML(document, options, "save-options-output.pdf");
Conclusion
La conversion de HTML en PDF est une fonctionnalité utile pour créer des documents de haute qualité, partageables et faciles à imprimer. Aspose.HTML for Java fournit une solution robuste avec la classe Converter
, qui vous permet de convertir facilement du HTML au PDF en utilisant des méthodes flexibles telles que convertHTML()
et des PdfSaveOptions
personnalisables.
La classe PdfSaveOptions
permet aux développeurs de personnaliser la sortie en spécifiant la taille des pages, les marges, les résolutions, les couleurs d’arrière-plan, les options de compression, le cryptage, etc. Si vous créez des rapports et enregistrez du contenu web sous forme de documents PDF, Aspose.HTML for Java simplifie le processus avec un minimum de code.
Aspose.HTML propose un Convertisseur de HTML en PDF en ligne gratuit qui convertit HTML en PDF avec une grande qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir le résultat en quelques secondes !