繁体   English   中英

如何将GhostScript的路径传递给iText7 CompareTool功能?

[英]How do I pass in the path of GhostScript to iText7 CompareTool functionality?

我正在尝试在C#中使用iText7在视觉上比较pdf文件。 我无法弄清楚如何告诉iText7 GhostScript的安装位置。

我的机器上的环境变量已设置。 在代码中我也尝试过environment.setenvironmentvariable

消息:iText.Kernel.Utils.CompareTool + CompareToolExecutionException:未指定GhostScript的路径。 请使用-DgsExec =(例如-DgsExec =“ C:/ Program Files / gs / gs9.14 / bin / gswin32c.exe”)

该消息是iText的Java版本的文字端口,实际上并不适用于C#。

如果您查看CompareTool.cs的源代码 ,那么您将看到从第144行开始:

/// <summary>Creates an instance of the CompareTool.</summary>
public CompareTool() {
    gsExec = SystemUtil.GetEnvironmentVariable("gsExec");
    compareExec = SystemUtil.GetEnvironmentVariable("compareExec");
}

因此,您需要创建的确切环境变量不是-DgsExec-DcompareExec ,而是gsExeccompareExec -D前缀只是在命令行上设置系统属性的Maven(来自Java世界的构建自动化工具)方式。

如果需要,可以向iText 7 .NET提交拉取请求以修复文档。 要更改的文件是itext/itext.kernel/itext/kernel/utils/CompareTool.cs ,要更改的行是7294 在开始之前,请阅读贡献准则

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM