使用Ghostscript库时,是否需要在用户计算机上安装Ghostscript?

时间:2017-11-09 11:29:00

标签: c# .net ghostscript

我想在.NET C#中使用Ghostscript托管库。这是否需要在机器上安装Ghostscript。

我们不能在我的测试应用程序中包含此gsdll32.dll作为删除此依赖项的参考吗?

3 个答案:

答案 0 :(得分:1)

是的,我使用此代码调用DLL而不是强制安装ghostscript(适用于x86和x64机器):

const string DLL_32BITS = "gsdll32.dll";
const string DLL_64BITS = "gsdll64.dll";

//select DLL based on arch
string NomeGhostscriptDLL;
if (Environment.Is64BitProcess)
{
    NomeGhostscriptDLL = DLL_64BITS;
}
else
{
    NomeGhostscriptDLL = DLL_32BITS;
}

GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(NomeGhostscriptDLL);

using (var rasterizer = new GhostscriptRasterizer())
{
    rasterizer.Open(e.FullPath, gvi, true);

    and so on...

P.S。:请记住将两个dll复制到输出目录

答案 1 :(得分:0)

是的,您可以绕过安装GhostScript。您可以将gs32.dllgs64.dll放在任何地方,但是您应该添加HKEY_LOCAL_MACHINE\SOFTWARE\GPL Ghostscript\9.21注册表项:

  • GS_DLL gs32.dll文件的路径
  • GS_LIB您图书馆的路径= 这是您设置中的Libraries\GS\Fonts

最好使用安装程序安装,复制常用文件,然后更改注册表和卸载。当然通过卸载,您将丢失注册表项(之前只是重命名)

答案 2 :(得分:0)

如果您将Ghostscript作为申请的一部分,则必须遵守AGPL的条款。这意味着您自己的应用程序必须获得AGPL许可,或者您必须寻求商业许可。

如果您提供Ghostscript库,但未包含许可证以及可以获取Ghostscript源的详细信息,那么您违反了许可证。

是的,这只涵盖了DLL。 Shubh听起来对你说(因为你谈论'你的申请'),就像你违反许可证一样,除非你的申请也是根据AGPL许可的。