html en pdf c

PHPz
PHPzoriginal
2023-05-09 11:15:07824parcourir

HTML en PDF C# : Comment convertir du HTML en PDF dans l'application ASP.NET MVC

À l'ère numérique d'aujourd'hui, de plus en plus de personnes utilisent des fichiers PDF pour archiver, partager et afficher des documents. Parfois, la conversion de fichiers HTML en fichiers PDF peut permettre à vos utilisateurs de parcourir plus facilement le document. Dans cet article, nous apprendrons comment convertir du HTML en PDF en utilisant C#.

Pour convertir du HTML en PDF, nous devons utiliser une bibliothèque appelée WkHtmlToPdf. Cette bibliothèque est basée sur WebKit et peut convertir des pages HTML en fichiers PDF. La bibliothèque propose de nombreuses options de configuration pour convertir facilement le HTML au format souhaité.

Commençons ! Vous devez d’abord installer la bibliothèque WkHtmlToPdf à partir du gestionnaire de packages NuGet. Ouvrez Visual Studio et cliquez avec le bouton droit sur le chemin « Références » dans le projet et sélectionnez « Gérer les packages NuGet ». Tapez « WkHtmlToPdf » dans la zone de recherche et appuyez sur Entrée. Sélectionnez la bibliothèque et installez-la.

Ensuite, nous devons créer une classe appelée "HtmlToPdfConverter", qui est responsable de la gestion de la conversion HTML en PDF. Dans cette classe, nous devons écrire la méthode suivante :

public byte[] ConvertHtmlToPdf(string html)
{
    byte[] pdfBuffer; // 将转换后的PDF文件存储到字节数组中

    var options = new PdfOptions
    {
        // 设置PDF选项,包括页面大小、宽度和高度等
        PageSize = PaperKind.A4,
        Orientation = PdfOrientation.Portrait
    };

    var htmlToPdf = new HtmlToPdfConverter(options); // 创建HTML转换PDF对象

    pdfBuffer = htmlToPdf.GeneratePdf(html); // 生成PDF文件,并将其存储在缓冲区中

    return pdfBuffer;
}

Avec le code ci-dessus, nous convertissons le HTML paramétré au format PDF puis stockons le fichier dans un tableau d'octets. La classe HtmlToPdfConverter est la classe principale de la bibliothèque WkHtmlToPdf, qui fournit de nombreuses options utiles pour configurer la sortie PDF. Dans le code ci-dessus, nous définissons des options telles que la taille de la page et l'orientation de la page.

Ensuite, utilisons notre classe HtmlToPdfConverter dans une application ASP.NET MVC. Tout d’abord, nous devons créer une méthode d’action dans le contrôleur pour appeler notre convertisseur. Par exemple :

public ActionResult ConvertHtmlToPdf()
{
    string html = "<html><body><h1>测试HTML转PDF</h1></body></html>";

    byte[] pdfBuffer = new HtmlToPdfConverter().ConvertHtmlToPdf(html);

    return File(pdfBuffer, "application/pdf"); // 返回转换后的PDF文件
}

Dans cet exemple, nous obtenons le contenu d'une simple chaîne HTML, le transmettons à notre méthode HtmlToPdfConverter et obtenons le fichier PDF à partir du tableau d'octets renvoyé. Enfin, nous utilisons le type de retour MVC « Fichier » pour envoyer le fichier PDF au client. Dans ce type de retour, le premier paramètre est un tableau d'octets et le deuxième paramètre est le type MIME de sortie, qui est « application/pdf ».

Enfin, nous configurons la méthode d'action à appeler sur une certaine URL. Par exemple, ajoutez le code suivant à l'itinéraire par défaut pour accéder à « /Home/ConvertHtmlToPdf » :

routes.MapRoute(
    name: "ConvertHtmlToPdf",
    url: "Home/ConvertHtmlToPdf",
    defaults: new { controller = "Home", action = "ConvertHtmlToPdf" });

Ensuite, nous naviguons simplement vers cette URL dans l'application pour convertir le HTML en PDF.

Dans cet article, nous avons présenté comment convertir du HTML en PDF à l'aide de C# dans l'application ASP.NET MVC. Nous utilisons la bibliothèque WkHtmlToPdf pour effectuer une conversion HTML en PDF et la transmettre au client à l'aide d'une méthode d'action simple. Cette méthode peut être utilisée pour générer différents types de fichiers PDF, contribuant ainsi à optimiser l'expérience utilisateur de l'application et le partage de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn