Как пройти путь GhostScript к функциональности iText7 CompareTool? - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь визуально сравнить PDF-файлы, используя iText7 в C #.Я не могу понять, как сообщить iText7, где установлен GhostScript.

На моей машине установлены переменные окружения.В коде я также попробовал environment.setenvironmentvariable

Сообщение: iText.Kernel.Utils.CompareTool + CompareToolExecutionException: путь к GhostScript не указан.Пожалуйста, используйте -DgsExec = (например, -DgsExec = "C: / Program Files / gs / gs9.14 / bin / gswin32c.exe")

1 Ответ

1 голос
/ 12 июня 2019

Это сообщение является буквальным портом Java-версии iText и буквально не применимо для C #.

Если вы посмотрите в исходный код CompareTool.cs , то вы увидите начиная со строки 144:

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

Итак, точные переменные среды, которые вам нужно создать, это не -DgsExec и -DcompareExec, а gsExec и compareExec. Префикс -D - это просто способ установки системных свойств в командной строке Maven (инструмент автоматизации сборки из мира Java).

Если хотите, тогда вы можете отправить запрос на извлечение в iText 7 .NET , чтобы исправить документацию. Файл для изменения itext/itext.kernel/itext/kernel/utils/CompareTool.cs и строки для изменения 72 и 94 . Перед началом работы прочитайте Правила участия .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...