簡體   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