HTML в PDF с использованием ironPDF, получив ошибку, доступ к пути «IronPdf.ChromeRenderingEngine.dll» запрещен. в С#

Мы используем ironPDF для преобразования нашего документа в PDF, он работал нормально и без проблем преобразовывал наши документы (HTML) в PDF на локальном хосте, и после подтверждения всего мы купили лицензию на 1 год и загрузили код в производство.

Как только мы загрузили наш код в Production, мы получаем ошибку: доступ к пути «IronPdf.ChromeRenderingEngine.dll» запрещен.

Вот код, который мы используем

   string file = $"{Guid.NewGuid().ToString().Replace("-", "")}.pdf";
   IronPdf.License.LicenseKey = ConfigurationManager.AppSettings["IronPdf.LicenseKey"];
   IronPdf.Installation.TempFolderPath = ironPdf;
   var pdfPrintOptions = new PdfPrintOptions()
   {
       InputEncoding = Encoding.UTF8,
       PaperOrientation = PdfPrintOptions.PdfPaperOrientation.Portrait,
       MarginTop = 10,
       MarginBottom = 10,
       MarginLeft = 10,
       MarginRight = 10,
       Footer = new SimpleHeaderFooter()
       {
           RightText = "Page {page} of {total-pages}",
           DrawDividerLine = true,
           FontSize = 10,
           FontFamily = "Open Sans"
       },
       CssMediaType = PdfPrintOptions.PdfCssMediaType.Print
   };
   var Renderer = new HtmlToPdf(pdfPrintOptions);
   var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
   PDF.SaveAs($"{sourceUrl}{file}");
   PDF.Dispose();

person Chandresh Khambhayata    schedule 23.09.2020    source источник
comment
Я только что получил ту же ошибку сегодня после покупки и установки лицензионного ключа. Если я вернусь к пробному лицензионному ключу, который работал минуту назад, я все еще получаю ту же ошибку.   -  person mlg74    schedule 23.09.2020
comment
Я перезапустил свой сервер, и это сработало, но теперь водяной знак находится на PDF-файле. Если я внесу какие-либо изменения, я снова получаю сообщение об ошибке, но затем мне приходится перезагружаться, но водяной знак все еще есть.   -  person mlg74    schedule 23.09.2020
comment
Да, в бесплатной версии все работает без проблем, а вот с водяным знаком проблема.   -  person Chandresh Khambhayata    schedule 24.09.2020
comment
Удалите dll, удалите временные файлы на сервере, сделайте чистую установку. Извлеките лицензию из вашего web.config или app.config и инициализируйте ее перед каждым экземпляром, который вы используете. Работал на меня.   -  person mlg74    schedule 24.09.2020


Ответы (1)


У меня была такая же проблема, как это. Мне удалось решить эту проблему, установив путь к временной папке в место, до которого код мог добраться и записать (я полагаю, что он распаковывает в него библиотеки, когда выполняет генерацию). Это особенно актуально при использовании службы приложений, такой как Azure или AWS.

Для приложений ASP.NET я помещаю это в Application_Start() в global.ascx.cs:

IronPdf.Installation.TempFolderPath = Server.MapPath(@"/tmp");

Для .NET Core я поместил это в конструктор Startup.

IronPdf.Installation.TempFolderPath = @"/tmp";
person mjbates7    schedule 24.09.2020
comment
Ссылка на документацию для IronPdf.Installation.TempFolderPath ironpdf.com/object-reference /апи/ - person Stephanie; 13.07.2021