Convertir HTML en XPS | Exemples C#

XPS est un format de stockage et de visualisation de documents développé par Microsoft. Il présente un ensemble d’avantages qui prennent en charge les fonctions de sécurité, telles que les signatures numériques pour assurer une plus grande sécurité des documents et plus encore. La conversion de HTML en XPS est souvent nécessaire pour établir un accès limité à l’édition ou à la copie de documents. Le format de fichier XPS permet de gérer les droits d’accès et de produire des documents imprimables de haute qualité. Les fichiers XPS peuvent être utilisés pour partager des documents, et vous pouvez être sûr que ce que vous voyez sur la page est identique à ce que les autres voient lorsque vous utilisez le visualiseur XPS.

L’utilisation des méthodes Converter.ConvertHTML() est le moyen le plus courant de convertir le code HTML dans différents formats. Avec Aspose.HTML for .NET, vous pouvez convertir HTML au format XPS de manière programmatique en contrôlant totalement un large éventail de paramètres de conversion. Dans cet article, vous trouverez des informations sur la manière de convertir HTML en XPS à l’aide des méthodes ConvertHTML() de la classe Converter, et sur la manière d’appliquer les paramètres XpsSaveOptions et ICreateStreamProvider.

Convertisseur HTML en ligne

Vous pouvez vérifier la fonctionnalité de l’API Aspose.HTML et convertir du HTML en temps réel. Veuillez charger HTML à partir du système de fichiers local, sélectionnez le format de sortie et exécutez l’exemple. Dans l’exemple, les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat dans un fichier séparé.

                
            

Si vous souhaitez convertir HTML en XPS par programme, veuillez consulter les exemples de code C# suivants.

HTML vers XPS par une seule ligne de code

Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un code HTML en différents formats. Vous pouvez convertir HTML en XPS dans votre application C# en une seule ligne de code !

1// Convert HTML to XPS using C#
2
3// Invoke the ConvertHTML() method to convert the HTML code to XPS
4Converter.ConvertHTML(@"<h1>Convert HTML to XPS!</h1>", ".", new XpsSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.xps"));

Convertir HTML en XPS

La conversion d’un fichier dans un autre format à l’aide de la méthode ConvertHTML() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents :

  1. Charge un fichier HTML à l’aide de la classe HTMLDocument.
  2. Créer un nouvel objet XpsSaveOptions.
  3. Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer HTML en tant que fichier XPS. Vous devez transmettre les paramètres HTMLDocument, XpsSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir HTML en XPS.

Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de HTML en XPS à l’aide d’Aspose.HTML for .NET.

 1// Convert HTML to XPS in C#
 2
 3// Prepare a path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "canvas.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "canvas-output.xps");
 8
 9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize XpsSaveOptions 
13XpsSaveOptions options = new XpsSaveOptions();
14
15// Convert HTML to XPS
16Converter.ConvertHTML(document, options, savePath);

Sauvegarder les options

Aspose.HTML permet de convertir HTML en XPS en utilisant des options d’enregistrement par défaut ou personnalisées. l’utilisation de XpsSaveOptions vous permet de personnaliser le processus de rendu. Vous pouvez spécifier la taille de la page, les marges, les Css, etc.

PropertyDescription
PageSetupThis property gets a page setup object and uses it for configuration output page-set.
CssGets a CssOptions object which is used for configuration of CSS properties processing.
BackgroundColorThis property sets the color that will fill the background of every page. By default, this property is Transparent.
HorizontalResolutionSets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
VerticalResolutionSets vertical resolution for output images in pixels per inch. The default value is 300 dpi.

Pour en savoir plus sur XpsSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.

Convertir HTML en XPS à l’aide de XpsSaveOptions

Pour convertir HTML en XPS en spécifiant XpsSaveOptions, vous devez suivre quelques étapes :

  1. Charger un fichier HTML en utilisant l’un des constructeurs HTMLDocument() de la classe HTMLDocument.
  2. Créer un nouvel objet XpsSaveOptions.
  3. Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer HTML en tant que fichier PDF. Vous devez transmettre les paramètres HTMLDocument, XpsSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir HTML en XPS.

L’exemple suivant montre comment utiliser XpsSaveOptions et créer un fichier XPS avec une taille de page et une couleur d’arrière-plan personnalisées :

 1// Convert HTML to XPS with custom settings using C#
 2
 3string documentPath = Path.Combine(OutputDir, "save-options.html");
 4string savePath = Path.Combine(OutputDir, "save-options-output.xps");
 5
 6// Prepare HTML code and save it to a file
 7string code = "<h1>  XpsSaveOptions Class</h1>\r\n" +
 8              "<p>Using XpsSaveOptions Class, you can programmatically apply a wide range of conversion parameters such as BackgroundColor, PageSetup, etc.</p>\r\n";
 9
10File.WriteAllText(documentPath, code);
11
12// Initialize an HTML Document from the html file
13using HTMLDocument document = new HTMLDocument(documentPath);
14
15// Set up the page-size, margins and change the background color to AntiqueWhite
16XpsSaveOptions options = new XpsSaveOptions()
17{
18    BackgroundColor = System.Drawing.Color.AntiqueWhite
19};
20options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(Length.FromInches(4.9f), Length.FromInches(3.5f)), new Margin(30, 20, 10, 10));
21
22// Convert HTML to XPS
23Converter.ConvertHTML(document, options, savePath);

Le constructeur XpsSaveOptions() initialise une instance de la classe XpsSaveOptions qui est passée à la méthode ConvertHTML(). La méthode ConvertHTML() prend le document, les options, le chemin du fichier de sortie savePath et effectue l’opération de conversion. La classe XpsSaveOptions fournit de nombreuses propriétés qui vous donnent un contrôle total sur un large éventail de paramètres et améliorent le processus de conversion de HTML au format XPS.

Dans l’exemple ci-dessus, nous utilisons :

Fournisseurs de flux de sortie

S’il est nécessaire d’enregistrer des fichiers dans un espace de stockage distant (par exemple, un nuage, une base de données, etc.), vous pouvez mettre en œuvre l’interface ICreateStreamProvider afin de contrôler manuellement le processus de création de fichiers. Cette interface est conçue comme un objet de rappel pour créer un flux au début du document/de la page (en fonction du format de sortie) et libérer le flux créé au début après le rendu du document/de la page.

Aspose.HTML for .NET fournit différents types de formats de sortie pour les opérations de rendu. Certains de ces formats produisent un seul fichier de sortie (par exemple PDF, XPS), d’autres créent plusieurs fichiers (formats d’image JPG, PNG, etc.)

L’exemple ci-dessous montre comment mettre en œuvre et utiliser votre propre MemoryStreamProvider dans l’application :

 1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
 2
 3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
 4{
 5    // List of MemoryStream objects created during the document rendering
 6    public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
 7
 8    public Stream GetStream(string name, string extension)
 9    {
10        // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11        MemoryStream result = new MemoryStream();
12        Streams.Add(result);
13        return result;
14    }
15
16    public Stream GetStream(string name, string extension, int page)
17    {
18        // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19        MemoryStream result = new MemoryStream();
20        Streams.Add(result);
21        return result;
22    }
23
24    public void ReleaseStream(Stream stream)
25    {
26        // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27    }
28
29    public void Dispose()
30    {
31        // Releasing resources
32        foreach (MemoryStream stream in Streams)
33            stream.Dispose();
34    }
35}
 1// Convert HTML to XPS in C# using memory stream
 2
 3// Create an instance of MemoryStreamProvider
 4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
 5
 6// Initialize an HTML document
 7using HTMLDocument document = new HTMLDocument(@"<h1>Convert HTML to XPS File Format!</h1>", ".");
 8
 9// Convert HTML to XPS using MemoryStreamProvider
10Converter.ConvertHTML(document, new XpsSaveOptions(), streamProvider);
11
12// Get access to the memory stream that contains the result data
13MemoryStream memory = streamProvider.Streams.First();
14memory.Seek(0, SeekOrigin.Begin);
15
16// Flush the result data to the output file
17using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.xps")))
18{
19    memory.CopyTo(fs);
20}

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

Aspose.HTML propose un Convertisseur de HTML en XPS gratuit en ligne qui convertit HTML en XPS avec une grande qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir des résultats en quelques secondes !

Texte “Convertisseur de HTML en XPS”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.