Itextsharp - création pdf depuis web

nagaD.scar Messages postés 4280 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - Modifié par nagashima le 22/11/2013 à 11:58
nagaD.scar Messages postés 4280 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 22 nov. 2013 à 14:11
Bonjour,

Dans le cadre d'un projet perso j'ai besoin de créer un pdf à partir d'une page web. De plus, je ne souhaite pas passer par un exe externe.

J'ai donc trouvé itextsharp qui me permet d'effectuer ceci, mais je ne parviens pas à trouver une aide satisfaisante pour pouvoir faire fonctionner tout ca.

Actuellement j'ai fais ce code :


public static void test(string html, string destination)
{
MemoryStream msOutput = new MemoryStream();
using (StreamWriter sw = new StreamWriter("c:\\temp\\tempHTMLtoPDF"))
sw.Write(html);
Document document = new Document(PageSize.A4, 30, 30, 30, 30);
TextReader reader = File.OpenText("c:\\temp\\tempHTMLtoPDF");
PdfWriter writer = PdfWriter.GetInstance(document, msOutput);

HTMLWorker worker = new HTMLWorker(document);

document.Open();
worker.StartDocument();


worker.Parse(reader);

worker.EndDocument();
worker.Close();
document.Close();
}


mais lors du parse, il cherche dans c: (là où je souhaite créer mon pdf) plutot que depuis le serveur ... en gros je cherche à configurer le chemin relatif quoi ^^.


Si quelqu'un à la possibilités de me décoincer et/ou aurai un tuto bien qui m'intéresserai , je suis tout ouïe (même si je ne fais que lire ^^) !


merci d'avance.
naga

1 réponse

nagaD.scar Messages postés 4280 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 16
Modifié par nagashima le 22/11/2013 à 14:11
bon j'ai trouvé pour le chemin relatife :



System.Collections.Generic.Dictionary<string, object> providers = new System.Collections.Generic.Dictionary<string, object>();
//Set the image base. This will be prepended to the SRC so watch your forward slashes
providers.Add(HTMLWorker.IMG_BASEURL, "http://www.google.fr/");
//Bind the providers to the worker
worker.SetProviders(providers);

maintenant le parse renvoi cette exception :
Unable to cast object of type 'iTextSharp.text.html.simpleparser.CellWrapper' to type 'iTextSharp.text.Paragraph'.

quelqu'un peu m'éclairer ?
0
Rejoignez-nous