Это довольно неоднозначная ошибка, которая часто встречается среди пользователей при использовании бинарной версии windows.
Судя по всему, Лу Ванг не смог предложить решение для пользователей Windows, так как все связанные сообщения помечены как «недостаточно информации». К сожалению, проект pdf2htmlEX также заархивирован, и новые комментарии не могут быть добавлены, поэтому я добавляю эту информацию здесь в надежде, что это может помочь кому-то еще в будущем.
В моем сценариибиблиотека вызывается с помощью метода-оболочки ASP.Net с использованием System.Diagnostics.Process для преобразования загруженных файлов в версии HTML. Библиотека Pdf2htmlEX будет работать без проблем из командной строки, и по некоторым причинам также будет отлично работать в моей среде разработки, но не в производственной среде (обе из которых - Windows Server 2012R2).
Мое первое предположение, и правильно, было то, что была проблема с разрешениями. Pdf2htmlEX внутренне использует FontForge для обработки шрифтов, и один или оба используют каталог Windows Temp по умолчанию для хранения файлов ресурсов, используемых при создании HTML и / или других файлов. И я «верю», хотя и не подтвердил, что он также может использовать папку %USERPROFILE%\AppData\Local\Temp
активного пользователя ...
При выполнении тестовых команд из командной строки вы работаете в своем пользовательском контексте, и все, что вы делаете. пользователь может сделать, Pdf2htmlEX может сделать. Таким образом, все работает как ожидалось.
В серверной среде процесс работает под ApplicationPoolIdentity, специальным типом пользователя IIS с ограниченными разрешениями. Здесь это не удалось для меня. Хотя я видел папки и файлы, созданные в папке Temp Windows, они не могли быть открыты Pdf2HtmlEX для создания конечных файлов в другом месте.
Решение: (могут быть и другие решения для вашего индивидуального случая) В моем случае добавление нового системного пользователя, добавление этого пользователя в группу Users
, а затем настройка IISрабочий процесс для этой учетной записи решил проблему. Я полагаю, что причина в том, что группа Users
имеет доступ для чтения / записи к каталогу Windows Temp и, возможно, к другим областям системы, необходимым для завершения Pdf2htmlEX.