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



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

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

是的

,我使用此代码调用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...

PS:记得将两个dll复制到输出目录

是的,您可以绕过安装GhostScript。您可以将gs32.dllgs64.dll放在任何地方,但您应该添加HKEY_LOCAL_MACHINESOFTWAREGPL Ghostscript9.21注册表项:

  • GS_DLL gs32.dll文件的路径
  • GS_LIB到图书馆的路径 =这是从您的设置中LibrariesGSFonts的。

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

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

如果您提供 Ghostscript 库,而没有包括许可证和可从何处获取 Ghostscript 源代码的详细信息,那么您就违反了许可证。

是的,这只涵盖了 DLL。 在我看来(因为你谈论"你的应用程序"(听起来像你违反了许可证,除非你的应用程序当然也根据 AGPL 获得许可。

最新更新