Преобразование HTML в PDF с помощью служб приложений Windows Azure / Syncfusion - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь использовать Syncfusion для преобразования HTML в PDF в Windows Azure.

Он отлично работает на компьютере разработчика. Однако в Windows Azure он не работает с протоколом HTTPS. Он будет работать только с HTTP.

Сайт по устранению неполадок Syncfusion предлагает следующее решение:

Причина Когда пакет OpenSSL не установлен на машине. Решение Для преобразования HTTPS-сайтов на компьютере должны быть установлены библиотеки OPENSSL. Библиотеку OPENSSL можно установить, загрузив ее настройки по приведенной ниже ссылке

OpenSSL

Вместо этого можно добавить необходимые сборки в системную папку Windows (для 64-битной машины она должна быть помещена в

$ SystemDrive \ Windows \ SysWOW64 и для 32-битной машины, он должен быть в

$ SystemDrive \ Windows \ System32),

libeay32.dll
libssl32.dll
ssleay32.dll

https://help.syncfusion.com/file-formats/pdf/convert-html-to-pdf/webkit#troubleshooting

Возможно ли реализовать это с помощью служб приложений? Если так, как бы я поступил об этом?

Ответы [ 2 ]

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

При преобразовании сайтов HTTPS может возникнуть пустая страница PDF из-за отсутствия сборок OPENSSL на веб-сайте Azure.Для преобразования HTTPS-сайтов конвертеру требуются сборки OPENSSL.По умолчанию некоторые веб-сайты Azure не имеют сборок OPENSSL.Итак, эти сборки должны быть явно добавлены на сайт.Нам не удалось разместить сборки на системном диске в среде службы приложений Azure.Ниже приведены шаги для размещения сборок OPENSSL в Azure для преобразования сайтов HTTPS в PDF.

  1. Создайте новую папку в проекте и скопируйте сборки OPENSSL в эту папку.

    • libeay32.dll

    • libssl32.dll

    • ssleay32.dll

  2. Включить эту папку в проект и установить копиюв выходной каталог как «Копировать всегда».

  3. Получите путь к папке сборок OPENSSL в C # и задайте для нее переменную среды.

См. ссылку ниже длядополнительные сведения о добавлении сборок OPENSSL в Azure.

КБ: https://www.syncfusion.com/kb/8821/blank-pdf-is-generated-when-converting-https-sites-to-pdf-in-azure

Примечание: Я работаю в Syncfusion.

0 голосов
/ 04 июня 2019

Из-за некоторых ограничений, касающихся Azure Web App sandbox, я уверен, что вы не можете напрямую добавить эти необходимые сборки в системную папку Windows.

Хотя я никогда не использовал Syncfusion, по моему опыту, я думаю, вы можете попытаться добавить эти необходимые библиотеки dll в одну и ту же папку Syncfusion. Поскольку путь загрузки DLL обычно является системным фолдером или тем же путем от вызывающей стороны.

Другие мои сомнения: Azure по умолчанию поддерживает SSL, я не думаю, что вам нужно устанавливать OpenSSL вручную. Возможно, вам просто нужно изменить свой код, чтобы использовать существующий сертификат SSL для поддержки HTTP для Syncfusion, как сказано в официальном документе Use an SSL certificate in your application code in Azure App Service.

Все вышеперечисленное в качестве справки только на основе моего мышления. Надеюсь, это поможет.

...