2009-08-25 17 views
1

Ich tat dies:Ich habe ein ‚Einfuhren‘ - Fehler TYPE ERWARTET

Imports iTextSharp.text.rtf 

und dann dem:

Dim grx As graphic = New graphic 

und auf der ersten „Grafik“ Ich erhalte eine „Art erwartet“

Grafik ist Mitglied der iTextSharp.text.rtf

hier die umgebenden Code ist:

Public Sub New1() 
    Console.WriteLine("Chapter 4 example 4: Simple Graphic") 
    Dim document As Document = New Document 
    Try 
     PdfWriter.GetInstance(document, New FileStream("Chap0404.pdf", FileMode.Create)) 
     document.Open() 
     Dim grx As graphic = New graphic 
     grx.Rectangle(100, 700, 100, 100) 
     grx.MoveTo(100, 700) 
     grx.LineTo(200, 800) 
     grx.Stroke() 
     document.Add(grx) 
    Catch de As DocumentException 
     Console.Error.WriteLine(de.Message) 
    Catch ioe As IOException 
     Console.Error.WriteLine(ioe.Message) 
    End Try 
    document.Close() 
End Sub 

Hier ist das gesamte Tutorial: (sorry es ist kein Tutorial, aber das ist, was sie es nennen)

Imports System 
Imports System.IO 
Imports iTextSharp.text 
Imports iTextSharp.text.pdf 
Namespace iTextSharp.tutorial.Chap04 

Public Class Chap0404 

    Public Sub New() 
     Console.WriteLine("Chapter 4 example 4: Simple Graphic") 
     Dim document As Document = New Document 
     Try 
      PdfWriter.GetInstance(document, New FileStream("Chap0404.pdf", FileMode.Create)) 
      document.Open 
      Dim grx As Graphic = New Graphic 
      grx.Rectangle(100, 700, 100, 100) 
      grx.MoveTo(100, 700) 
      grx.LineTo(200, 800) 
      grx.Stroke 
      document.Add(grx) 
     Catch de As DocumentException 
      Console.Error.WriteLine(de.Message) 
     Catch ioe As IOException 
      Console.Error.WriteLine(ioe.Message) 
     End Try 
     document.Close 
    End Sub 
End Class 

End Namespace

+0

Könnten Sie bitte die umliegenden Quelle posten? Oft wird diese Art von Fehler durch einen Code verursacht, der nahe an der angegebenen Zeile liegt, nicht genau darauf. –

+1

hinzugefügt das ['itextsharp'] -Tag – STW

Antwort

3

mit diesem für eine Weile nach dem Spielen denke ich, die Schlussfolgerung ist, dass Das folgende Tutorial gilt für eine veraltete Version von iText/iTextSharp.

Ihre sourceforge Seiten Links zu einer passenden example von Januar 2006 und Ihre Übersetzung VB.NET sieht genau - das Problem ist, dass die aktuelle Version von iTextSharp keinen Graphic Typ enthält, und nach einigen es suchen scheint nicht gewesen nur umbenannt - es ist wahrscheinlicher, dass die vollständige Grafik-API wurde erheblich verändert.

Die Source Seite hat einen Haftungsausschluss (letzte Zeile), dass die verlinkten Beispiele nicht mehr,

Beachten Sie, dass einige dem Beispiel mit der neuesten Version von iTextSharp wird nicht funktionieren könnte funktionieren.

Mit den gegebenen Beweisen, und der Verwendung von Reflektor, fand ich, dass die erwartete Graphic.Stroke() Methode existiert nur innerhalb der PdfContentByte-Klasse; Document.Add() erwartet jedoch eine Klasse, die IElement implementiert, die PdfContentByte nicht tut.

Diese Änderung ist das kleinste, das ich machen konnte schließen zu kompilieren zu bekommen, aber es ändert sich deutlich die Absicht des Codes und wird wahrscheinlich nicht wie erwartet funktionieren. Hier ist meine aktualisierte Version für Ihre Referenz jedoch:

Public Class Chap0404 

    Public Sub New() 
     Console.WriteLine("Chapter 4 example 4: Simple Graphic") 
     Dim document As Document = New Document 
     Try 
      Dim writer As PdfWriter = PdfWriter.GetInstance(document, New FileStream("Chap0404.pdf", FileMode.Create)) 
      document.Open() 
      Dim grx As PdfContentByte = New PdfContentByte(writer) 
      grx.Rectangle(100, 700, 100, 100) 
      grx.MoveTo(100, 700) 
      grx.LineTo(200, 800) 
      grx.Stroke() 
      'document.Add(grx) 
     Catch de As DocumentException 
      Console.Error.WriteLine(de.Message) 
     Catch ioe As IOException 
      Console.Error.WriteLine(ioe.Message) 
     End Try 
     document.Close() 
    End Sub 
End Class 
+0

versucht, dies funktioniert nicht –

+0

Sieht die Imports-Anweisung in VS korrekt (keine Squiggley?); Sind Sie sicher, dass Sie alle notwendigen Referenzen haben? – STW

+0

Ja, ich bin sicher, ich habe es direkt aus dem Tutorial –