2012-08-17 3 views
6

Mein Projekt gibt Fehler ..Wo gsdll32.dll kopieren, um PDF zu Bildkonverter in meiner WPF-Anwendung arbeiten zu lassen?

* Können Sie einen Einstiegspunkt namens 'gsapi_new_instance' in DLL 'gsdll32.dll' finden. *

bei dem Versuch, .pdf Bild-Format zu konvertieren mit Ghost-Script-Interpreter dLL 'gsdll32.dll'

Auch wenn ich versuchte, diese dLL zu allen gewünschten Orten zu kopieren, wie in vielen Foren gesagt, wie in

Win \ System32 oder in dem directory..The Fehler Leistungsbezogene Projekt ns das gleiche .. :(

I Die PDFConvert.cs Klasse von Ghost-Skript angegeben verwendet haben und den folgenden Code auf meinem Convert Button-Klick geschrieben:

private void btnConvert_Click(object sender, RoutedEventArgs e) 
{ 
    //First We Check whether the Dll is present 

    if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\gsdll32.dll")) 
    { 
     MessageBox.Show("The library 'gsdll32.dll' required to run this program is not present! download GhostScript and copy \"gsdll32.dll\" to this program directory"); 
     return; 
    } 
    if (string.IsNullOrEmpty(txtSingleFile.Text)) 
    { 
     MessageBox.Show("Enter the File name"); 
     txtSingleFile.Focus(); 
     return; 
    } 
    else if (!File.Exists(txtSingleFile.Text)) 
    { 
     MessageBox.Show("The File Does not exists"); 
     txtSingleFile.Focus(); 
    } 

    else 
     ConvertPdfToImage(txtSingleFile.Text); 
} 

und My ConvertPdfToImage Methode ist so wie : wegen der Abhanden gsdll32.dll Bibliothek

//The Ghost-Script Class Object Creation: 
PdfToImage.PDFConvert converter = new PdfToImage.PDFConvert(); 
public void ConvertPdfToImage(string filename) 
{ 
    //bool converted = false; 
    System.IO.FileInfo input = new FileInfo(filename); 
    string outPut = string.Format("{0}\\{1}{2}", input.DirectoryName, input.Name, txtExtensionName.Text); 

    converter.OutputFormat = txtExtensionName.Text; 

    outPut = outPut.Replace(txtExtensionName.Text, string.Format("{1}{0}", txtExtensionName.Text, DateTime.Now.Ticks)); 
    converter.Convert(input.FullName, outPut); 
    lblConvertingResult.Content = string.Format("{0}:File Converted..!!", DateTime.Now.ToShortTimeString()); 
} 

i kommt Dieser Fehler glauben, weil der gleiche Code gut mit dem Beispiel-Demo von Ghost-Script Interpreter API bereitgestellt läuft .. vorschlagen Bitte die genaue Lage wh Bevor ich die DLL-gsdll32.dll aufbewahre. !!

+0

einen Blick sein: http://stackoverflow.com/questions/653178/unable-to-find-ein-eingangspunkt-benannte-funktion-in-dll-c-zu-c-sharp-typ-con – JleruOHeP

+0

@JleruOHeP Danke für die Antwort..Aber ich konnte nicht viel finden auf dieser Seite für meinen Fall..Bitte seien Sie etwas spezifischer. Wo alle können wir diese Ghost-Script-DLL hinzufügen, um das Projekt zu arbeiten. Weil diese DLL nicht als Referenz in meinem BIN-Ordner hinzugefügt wird. –

Antwort

5

Ich weiß, diese Frage ein wenig alt, aber wenn jemand dieses Problem hat, ich löse es auf diese Weise: Herunterladen und Installieren von GhostScriptSharp Paket von Visual Studio http://www.nuget.org/packages/GhostScriptSharp/

+0

oh danke zurita...hatte ich fast die Hoffnung verloren, eine richtige Lösung für dieses Problem zu bekommen .. :( –

0

Versuchen mit vollständigem Pfad der DLL statt nur Namen .
Wie, wenn Ihre DLL auf D gehalten: \ Testapplication \ bin \ gsdll32.dll dann,

[DllImport("gsdll32.dll", EntryPoint="gsapi_new_instance")] 

Above Aussage

[DllImport("D:\\TestApplication\\bin\\gsdll32.dll", EntryPoint="gsapi_new_instance")] 
Verwandte Themen