2012-08-17 50 views
6

mi proyecto da error ..¿Dónde copiar gsdll32.dll para hacer que el convertidor de PDF a imagen funcione en mi aplicación WPF?

* No es posible encontrar un punto de entrada llamado 'gsapi_new_instance' en DLL 'gsdll32.dll'. *

al intentar convertir a formato .pdf imagen utilizando Santo-script intérprete DLL 'gsdll32.dll'

Incluso si trataba de copiar este archivo DLL para todos los lugares deseados según lo dicho en muchos foros como en

Win \ System32 o en Remai error directory..The del proyecto ns la misma .. :(

he utilizado PDFConvert.cs La clase dada por Ghost-script y escrito el siguiente código en mi botón de conversión clic:

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); 
} 

y mi método es tan ConvertPdfToImage como :

//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()); 
} 

creo Este error viene debido a la mala colocación de la biblioteca gsdll32.dll porque el mismo código se ejecuta bien con la demo muestra proporcionada por la API de Santo-script intérprete .. favor sugerir la ubicación exacta WH antes de que yo guarde el dll-gsdll32.dll.

+0

echar un vistazo: http://stackoverflow.com/questions/653178/unable-to-find-an-entry-point-named-function-in-dll-c-to-c-sharp-type-con – JleruOHeP

+0

@JleruOHeP Gracias por la respuesta ... Pero no pude encontrar mucho en esta página para mi caso ... Por favor, se un poco más específico ... Donde todos podemos agregar este dll ghost-script para que el proyecto funcione. Porque este dll no se está agregando como referencia en mi carpeta BIN. –

Respuesta

5

Sé que esta pregunta es un poco viejo, pero si alguien tiene este problema, i resolverlo de esta manera: descargar e instalar el paquete GhostScriptSharp desde Visual Studio http://www.nuget.org/packages/GhostScriptSharp/

+0

oh gracias zurita ... Casi había perdido la esperanza de encontrar una solución adecuada a este problema ... :( –

0

Pruebe con la ruta completa del archivo DLL en lugar de sólo el nombre .
Al igual que si el archivo DLL mantiene a D: \ TestApplication \ bin \ gsdll32.dll entonces,

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

Por encima de declaración habrá

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