在哪里复制 gsdll32.dll 以使 PDF 到图像转换器在我的 WPF 应用程序中工作?
Posted
技术标签:
【中文标题】在哪里复制 gsdll32.dll 以使 PDF 到图像转换器在我的 WPF 应用程序中工作?【英文标题】:Where to copy gsdll32.dll to make PDF to image converter work in my WPF application? 【发布时间】:2012-08-17 13:34:00 【问题描述】:我的项目出错..
*无法在 DLL 'gsdll32.dll' 中找到名为 'gsapi_new_instance' 的入口点。*
尝试使用 Ghost-script Interpreter dll 'gsdll32.dll' 将 .pdf 转换为图像格式时
即使我尝试将这个 dll 复制到所有想要的地方,就像在许多论坛中所说的那样,
Win\System32 或者项目目录下..报错还是一样..:(
我使用了 Ghost-script 给出的 PDFConvert.cs 类 并在我的转换按钮单击上编写了以下代码:
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);
我的 ConvertPdfToImage 方法是这样的:
//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\\12", input.DirectoryName, input.Name, txtExtensionName.Text);
converter.OutputFormat = txtExtensionName.Text;
outPut = outPut.Replace(txtExtensionName.Text, string.Format("10", txtExtensionName.Text, DateTime.Now.Ticks));
converter.Convert(input.FullName, outPut);
lblConvertingResult.Content = string.Format("0:File Converted..!!", DateTime.Now.ToShortTimeString());
我相信这个错误是由于 gsdll32.dll 库的错位造成的,因为相同的代码在 Ghost-Script Interpreter API 提供的示例演示中运行良好。 请建议我应该保留 dll-gsdll32.dll 的确切位置。!!
【问题讨论】:
看看:***.com/questions/653178/… @JleruOHeP 感谢您的回复..但我在这个页面上找不到太多关于我的案例..请更具体..我们可以在哪里添加这个幽灵脚本 dll 来制作项目工作。因为这个 dll 没有被添加为我的 BIN 文件夹中的参考。 【参考方案1】:我知道这个问题有点老了,但是如果有人有这个问题,我会这样解决:从 Visual Studio http://www.nuget.org/packages/GhostScriptSharp/ 下载并安装 GhostScriptSharp 包
【讨论】:
哦,谢谢zurita ..我几乎完全失去了找到正确解决这个问题的希望..:(【参考方案2】:尝试使用 dll 的完整路径,而不是仅使用名称。 就像如果你的 dll 保存在 D:\TestApplication\bin\gsdll32.dll 那么,
[DllImport("gsdll32.dll", EntryPoint="gsapi_new_instance")]
上面的语句将是
[DllImport("D:\\TestApplication\\bin\\gsdll32.dll", EntryPoint="gsapi_new_instance")]
【讨论】:
【参考方案3】:我终于明白了。我下载了最新的 DLL,更改了代码以查找更新后的 dll,它工作正常。
【讨论】:
以上是关于在哪里复制 gsdll32.dll 以使 PDF 到图像转换器在我的 WPF 应用程序中工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Ghostscript 将 AI(嵌入 PDF)裁剪为 PNG?