Editer HTML5 Canvas en Java

Qu’est-ce que HTML Canvas ?

L’élément HTML <canvas> est un élément HTML5 qui permet aux développeurs de créer un rendu dynamique et scriptable de formes 2D et d’images bitmap directement dans un navigateur web. Aspose.HTML for Java prend en charge cette fonctionnalité, ce qui permet une intégration et une manipulation transparentes des éléments canvas dans les applications Java.

Caractéristiques principales de HTML Canvas

  1. Attributs : L’élément <canvas> doit inclure :
  1. Intégration JavaScript : Pour créer des images dynamiques ou travailler avec des graphiques, l’élément <canvas> utilise JavaScript pour les opérations de dessin et de rendu. Cela permet aux développeurs de créer des effets visuels hautement personnalisables en utilisant la méthode getContext() pour accéder au contexte de rendu.

  2. Attributs globaux : L’élément <canvas> supporte les Attributs globaux de HTML, ce qui permet une plus grande flexibilité dans le style et l’interaction.

HTML5 Canvas – Comment éditer en Java

Pour intégrer un canvas dans un document HTML, vous n’avez besoin d’aucune manipulation particulière. Il suffit de rendre le document comme vous le faites habituellement. L’extrait de code suivant montre comment travailler avec un document qui contient un élément HTML5 Canvas : l’élément HTML <canvas> possède les attributs id, width, height et style ; à l’intérieur de l’élément <canvas>, il y a un bloc de script qui contient du code JavaScript pour dessiner “Hello, World !” sur le canevas.

  1. Préparez un code HTML avec HTML5 Canvas à l’intérieur et utilisez la classe java.io.FileWriter pour écrire le code HTML dans un fichier.
  2. Initialiser un document HTML à partir du fichier en utilisant la classe HTMLDocument.
  3. Appelez la méthode convertHTML(document, options, outputPath) pour convertir HTML en PDF avec les options d’enregistrement par défaut.
 1// Convert HTML5 Canvas with JavaScript text to PDF using Aspose.HTML for Java
 2
 3// Prepare a document with HTML5 Canvas inside and save it to the file "document.html"
 4String code = "<canvas id=myCanvas width='200' height='100' style='border:1px solid #d3d3d3;'></canvas>" +
 5        "<script>" +
 6        "var c = document.getElementById('myCanvas');" +
 7        "var context = c.getContext('2d');" +
 8        "context.font = '20px Arial';" +
 9        "context.fillStyle = 'red';" +
10        "context.fillText('Hello World', 40, 50);" +
11        "</script>";
12try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
13    fileWriter.write(code);
14}
15
16// Initialize an HTML document from the HTML file
17HTMLDocument document = new HTMLDocument("document.html");
18
19// Convert HTML to PDF
20Converter.convertHTML(document, new PdfSaveOptions(), "output.pdf");

Canvas Rendering Context 2D

Outre le traitement de HTML5 Canvas en tant que partie d’un document HTML, vous pouvez travailler avec canvas directement dans votre code Java. Aspose.HTML fournit l’interface ICanvasRenderingContext2D pour ces opérations, qui est entièrement basée sur la [norme] officielle(5). L’extrait de code suivant montre comment utiliser la fonction de dessin de HTML5 Canvas pour rendre un texte personnalisé rempli à l’aide d’un pinceau dégradé.

 1// Create HTML5 canvas with gradient text and rectangle, convert to PDF with Java
 2
 3// Create an empty HTML document
 4HTMLDocument document = new HTMLDocument();
 5
 6// Create a canvas element
 7HTMLCanvasElement canvas = (HTMLCanvasElement) document.createElement("canvas");
 8
 9// with a specified size
10canvas.setWidth(300);
11canvas.setHeight(150);
12
13// Append the canvas element to the document body
14document.getBody().appendChild(canvas);
15
16// Get the canvas rendering context to draw
17ICanvasRenderingContext2D context = (ICanvasRenderingContext2D) canvas.getContext("2d");
18
19// Prepare a gradient brush
20ICanvasGradient gradient = context.createLinearGradient(0, 0, canvas.getWidth(), 0);
21gradient.addColorStop(0, "magenta");
22gradient.addColorStop(0.5, "blue");
23gradient.addColorStop(1.0, "red");
24
25// Assign the brush to the content
26context.setFillStyle(gradient);
27context.setStrokeStyle(gradient);
28
29// Write the text
30context.fillText("Hello, World!", 10, 90, 500);
31
32// Fill the rectangle
33context.fillRect(0, 95, 300, 20);
34
35// Create a PDF output device
36PdfDevice device = new PdfDevice("canvas.output.pdf");
37
38// Render HTML5 Canvas to PDF
39document.renderTo(device);

Recommandations

Pour en savoir plus sur l’utilisation de HTML5 Canvas, vous pouvez lire le très populaire HTML Canvas Tutorial.

Vous pouvez télécharger les exemples complets et les fichiers de données à partir de GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.