Code HTML pour la conversion en PDF - fonctionne Presque, mais
J'ai passé une bonne partie de la dernière quelques jours à la recherche de facile-à-utilisation de la bibliothèque qui prend une chaîne html en entrée, et produit une sortie PDF en tant que fichier dans le navigateur client.
De quelques dizaines d'outils que j'ai essayé, un produit appelé NReco PDF Generator, qui est l'un des nombreux outils dérivés basés sur wkhtmltopdf, semble convenir à mes besoins.
Voici mon code de test:
var strHtml = String.Format("<h1>Hello World!</h1");
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=test.pdf");
(new NReco.PdfGenerator.HtmlToPdfConverter()).GeneratePdf(strHtml, null, Response.OutputStream);
Response.End();
Avec le code ci-dessus, je m'attendais à voir un fichier PDF passé à mon navigateur. Au lieu de cela, je ne vois que le flux de sortie générés dans mon developer console. (BTW, je suis en utilisant google Chrome)
Ma question n'est PAS sur la façon dont le produit fonctionne, ce qui je pense fonctionne comme prévu, mais il est sur que mon code est absent toute action pour la .NET Response
objet ou est en train de faire quelque chose de mal. Comme je l'ai déjà indiqué, je peux voir le fichier Pdf converti le flux de la console. Je pense que c'est juste une question de capturer le flux dans un fichier et de le transmettre à la client.
Vous devez vous connecter pour publier un commentaire.
La ligne manquante est
Response.BinaryWrite(pdfBytes)
. Sans que la ligne de PDF ne sera pas rendu à l'utilisateur.Aussi loin que je peux dire que vous n'avez pas besoin de lignes:
La suivante fonctionne pour moi (de toute Évidence, vous avez besoin d'ajouter
using NReco.PdfGenerator;
)Stocker le fichier PDF en un tableau d'octets, alors écrire la réponse.
au lieu de
Inspiration pour cette prise de NReco du site.