我想在.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.dll
或gs64.dll
放在任何地方,但您应该添加HKEY_LOCAL_MACHINESOFTWAREGPL Ghostscript9.21
注册表项:
-
GS_DLL
gs32.dll
文件的路径 -
GS_LIB
到图书馆的路径 =这是从您的设置中LibrariesGSFonts
的。
最好通过安装程序安装,复制常用文件,然后更改注册表并卸载。当然,通过卸载,您将丢失注册表项(只是在之前重命名(
如果您将Ghostscript作为应用程序的一部分,则必须遵守AGPL的条款。这意味着您自己的应用程序必须获得AGPL许可,或者您必须寻求商业许可。
如果您提供 Ghostscript 库,而没有包括许可证和可从何处获取 Ghostscript 源代码的详细信息,那么您就违反了许可证。
是的,这只涵盖了 DLL。 在我看来(因为你谈论"你的应用程序"(听起来像你违反了许可证,除非你的应用程序当然也根据 AGPL 获得许可。