Проблема с установкой Ghostscript на. net - PullRequest
0 голосов
/ 06 августа 2020

Я следовал тонне руководств по SO, чтобы установить Ghostscript в свое приложение MVC C#, но я не могу сделать так, чтобы код ниже был распознан. Он продолжает говорить: «Не удалось найти GhostscriptRasterizer (вам не хватает директивы using или ссылки на сборку?)»

public ActionResult PDFToImages(string pdfFilePath)
        {
            //...

            using (var rasterizer = new GhostscriptRasterizer())
            {
                //...
            }

            //...
        }

Я использую Visual Studio, и вот что я уже пробовал:

  • Получите файл .exe из https://www.ghostscript.com/download.html и установите его. Затем вручную включите gsdll32.dll в мой проект в качестве «содержимого» (меню: Добавить существующий элемент);
  • В Visual Studio перейдите в «Инструменты> Диспетчер пакетов NuGet> Управление пакетами NuGet для решения», а затем установите Ghostscript. NET автор: Josip Habjan.
  • Также в диспетчере пакетов NuGet попытался установить библиотеки DLL Ghostscript от Matthieu - появляется ошибка «Не удалось добавить ссылку на 'gsdll32'. Убедитесь, что файл доступен и что это допустимая сборка или компонент COM. "
  • В консоли диспетчера пакетов сделал" Install-Package Ghostscript -Version 9.2.0 "и получил также ошибку выше

1 Ответ

1 голос
/ 07 августа 2020

Если ваша цель состоит в том, чтобы напрямую использовать Ghostscript. NET, вам не нужно будет ссылаться на исходную DLL Ghostscript из вашего проекта (как я уже сказал, пока вы этого не сделаете).

Я тестировал Ghostscript. NET поверх Windows 7 и windows 10, с Visual Studio Community 2017 просто выполнив следующие действия:

  1. Установите Ghostscript 9.52 для Windows (32 бита) .

  2. Используя диспетчер пакетов Nuget , в мое решение добавлено Ghostscript. NET.

  3. Включите , используя строки кода, если требуется (основное пространство имен и Rasterizer для вашего случая должны работать, я использую Процессор , в дополнение):

    using Ghostscript.NET;
    using Ghostscript.NET.Processor;
    using Ghostscript.NET.Rasterizer;

Я проверил в новом проекте консольного приложения предложение using (которое использует класс Rasterizer), которое вы предоставили, и не возвращает ошибок, если я выполнил эти действия ранее.

Пожалуйста, попробуйте еще раз упомянутые действия, и дайте мне знать, удастся ли вам таким образом использовать Ghostscript.

...