J'écris un service Web en C# en utilisant NReco.PdfConverter
et wkhtml
qui convertirait des pages Web en fichiers PDF.Obtenez le HTML + CSS + JS entier de la page, et envoyez-le à un service Web
Les pages Web (sur SharePoint) requièrent une autorisation et contiennent également un formulaire que l'utilisateur doit remplir. Par conséquent, le service Web ne peut pas simplement accéder à l'URL de cette page et le télécharger.
Les fichiers JavaScript et CSS sont également importants pour le rendu correct du formulaire, y compris des dizaines de fichiers JS et feuilles de style de SharePoint.
Jusqu'à présent, ma meilleure idée est la suivante:
Lorsque l'utilisateur clique sur « Générer PDF », JavaScript convertira toute la page en cours en une seule chaîne (annexant les fichiers CSS et les fichiers JS ligne); Cette chaîne au service Web en utilisant
$.ajax()
.En utilisant
NReco.PdfConverter
, il est trivial de convertir cette chaîne en PDF et l'enregistrer dans le fichier:var converter = new HtmlToPdfConverter { Margins = new PageMargins { Top = 0, Bottom = 0, Left = 0, Right = 0 }, CustomWkHtmlArgs = "--print-media-type" }; converter.GeneratePdf(htmlContent);
Comment peut-on aborder l'idée même de générer un code HTML d'une page (y compris l'état des cases à cocher, du texte à l'intérieur des formulaires, etc.) dans le navigateur?
Est-ce quelque chose de terriblement compliqué? Est-ce que quelqu'un est au courant d'une autre solution?
travaillé avec CustomWkHtmlArgs = "LOGIN --username --password PASS" – K48
J'ai ajouté extrait de code pour auth de base à la réponse –