2009-06-18 8 views
2

Ich brauche Ihre Hilfe ein Bild zu einem PDF hinzufügen.Wie füge ich Bild in pdf mit C# und iTextSharp?

Ich verwende:

string imgPath2 = localPath + "\\TempChartImages\\" + LegendPath; 
img2.Save(imgPath2); 
ith.WriteImage(imgPath2, 80); 

Aber dieser Code gibt mir den Fehler:

Use of unassigned local variable img2

Wie kann ich diesen Fehler beheben?

+0

Ich bin mir nicht sicher, was Ihr Code tut (wie es nicht sehr klar ist), aber versuchen Sie, ein Bild zu einem PDF hinzuzufügen? Wenn ja, benutze iTextSharp. – David

+0

Können Sie den Code posten, der img2 definiert? Sie benötigen eine Bibliothek, um die Einfügung in das PDF zu machen, da nichts in das .NET-Framework eingebunden ist, um PDFs zu manipulieren. – Kelsey

Antwort

1

Sie benötigen dafür ein Tool von Drittanbietern.

+0

Ja ich habe ich itextSharp .... – Penguen

+0

Es würde sich lohnen, Ihre Frage zu bearbeiten, um diese Informationen aufzunehmen - wahrscheinlich sogar im Fragenkopf. – Jeffrey

2

Hier ist das iTextSharp Tutorial auf images. Ohne mehr von Ihrem Code zu sehen, ist es schwierig zu beurteilen, welchen Codeabschnitt Sie benötigen.

2

Wenn Sie eine Variable deklarieren, in Ihrem Fall img2, ohne einen Wert zuzuweisen, zeigt sie auf absolut nichts. Stellen Sie sicher, dass Sie img2 vor der Verwendung mit etwas initialisieren.

Ich denke, was Sie wollen Ihre img2.Save Linie geändert werden:

Image img2 = Image.FromFile(yourInitialImageHere); // You could be reading from memory as well. 
img2.Save(imgPath2); 

Ich könnte weg sein, obwohl, wie Ihr Code-Snippet ziemlich vage.

2

es ist eine Ahnung, aber wenn Sie den Wert von img2 in einem Try-Catch-Block zuweisen, treffen Sie möglicherweise eine Ausnahme, die verhindert, dass die Zuweisung stattfindet. Zum Beispiel:

var img2; 
try 
{ 
    var x = 5/0; // Generate a DivideByZero exception 
    img2 = GetImage(); // <-- the above exception will prevent this code from executing 
} 
catch 
{ 
} 
img2.Save(imgPath2); <-- img2 wasn't assigned, so another exception will occur 
1

Ich glaube, Sie müssen zuerst das Bild instanziieren.

Image img2 = new Image(); 

es löste meine Probleme. Hoffe es wird dein lösen.

1

Sie müssen eine getinstance des Bildes erstellen.

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance("path of the image"); 
Verwandte Themen