我想在.NET C#中使用Ghostscript托管库。这是否需要在机器上安装Ghostscript。
我们不能在我的测试应用程序中包含此gsdll32.dll作为删除此依赖项的参考吗?
答案 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.dll
或gs64.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许可的。