2010-11-26 6 views
1

J'utilise le code d'autres question et je reçois l'erreur commeErreur dans le code C# en utilisant iTextSharp

Erreur 1 Le type non générique « iTextSharp.text.List » ne peut pas être utilisé avec le type arguments

erreur 2 le nom « HTMLWorker » ne existe dans le contexte actuel

erreur 3 le nom du type ou espace de noms « HTMLWorker » n'a pas pu être trouvée (sont vous manque une directive à l'aide ou une référence d'assemblage )

Mon code à ce jour est la suivante:

protected void Button2_Click(object sender, EventArgs e) 
{ 
    //Extract data from Page (pd). 
    Label16.Text = Editor1.Content; // Attribute  

    // makae ready HttpContext 
    HttpContext.Current.Response.Clear(); 
    HttpContext.Current.Response.ContentType = "application/pdf"; 

    // Create PDF document 
    Document pdfDocument = new Document(PageSize.A4, 80, 50, 30, 65); 
    //PdfWriter pw = PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream); 
    PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream); 

    pdfDocument.Open(); 
    //WebClient wc = new WebClient(); 
    string htmlText = Editor1.Content; 

    List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmlText), null); 
    for (int k = 0; k < htmlarraylist.Count; k++) 
    { 
     pdfDocument.Add((IElement)htmlarraylist[k]); 
    } 

    //pdfDocument.Add(new Paragraph(IElement)); 
    pdfDocument.Close(); 
    HttpContext.Current.Response.End(); 

}

S'il vous plaît aidez-moi à résoudre l'erreur. Ce que j'essaie est d'obtenir le contenu (non html) de htmleditor et d'afficher dans un fichier pdf. veuillez me confirmer si ce que j'essaie de faire est correct ou non.

Répondre

3

1.Prefix votre liste comme

System.Collections.Generics.List<IElement> htmlarraylist 

2.Looks comme vous ne l'avez pas importé l'espace de noms HTMLWorker

EDIT: Je googlé pour vous, l'espace de noms pourrait être l'un de ces Je doute que ce soit le dernier, mais je ne suis pas sûr.

using iTextSharp.text; 
using iTextSharp.text.pdf; 
using iTextSharp.text.html.simpleparser; 
+0

Quelle est l'importation de HTMLWorker? – Ishan

+1

@Ishan s'il vous plaît voir la réponse éditée. –

+0

Merci beaucoup. – Ishan

3

Il y a un conflit de nom dans ce code - vous êtes using iTextSharp.text namespace et essayant d'utiliser la classe standard System.Collections.Generic.List<T>.

Vous devez supprimer using iTextSharp.text et utiliser ses classes avec un espace de noms explicite ou utiliser un espace de noms explicite pour List<T>. La troisième solution consiste à utiliser aliases. Pour la deuxième erreur, vous devez importer l'espace de noms HTMLWorker. Mettez

using iTextSharp.text.html.simpleparser; 

en haut.

Questions connexes