我正在尝试使用C#中的iText7在视觉上比较pdf文件。我无法弄清楚如何告诉iText7 GhostScript的安装位置。
在我的机器上设置了环境变量。 在代码中,我还尝试了environment.setenvironmentvariable
消息:iText.Kernel.Utils.CompareTool + CompareToolExecutionException:未指定GhostScript的路径。请使用-DgsExec =(例如-DgsExec =“ C:/ Program Files / gs / gs9.14 / bin / gswin32c.exe”)
答案 0 :(得分:1)
该消息是iText的Java版本的文字端口,实际上并不适用于C#。
如果您查看the source code of CompareTool.cs,那么您会看到从第144行开始:
/// <summary>Creates an instance of the CompareTool.</summary>
public CompareTool() {
gsExec = SystemUtil.GetEnvironmentVariable("gsExec");
compareExec = SystemUtil.GetEnvironmentVariable("compareExec");
}
因此,您需要创建的确切环境变量不是 -DgsExec
和 -DcompareExec
,而是 {{1} } 和 gsExec
。 compareExec
前缀只是在命令行上设置系统属性的Maven(Java世界中的构建自动化工具)方式。
如果需要,可以submit a pull request to iText 7 .NET来修复文档。要更改的文件是-D
,要更改的行是72和94。在开始之前,请先阅读Contribution Guidelines。