Я пытаюсь преобразовать HTML-документ в pdf, используя DinkToPdf в asp.net Core webapi версии 2.1:
Это мой метод:
public async Task<ActionResult> ToPdf()
{
var loader = new CustomAssemblyLoader();
var assemblyPath = Directory.GetCurrentDirectory();
loader.LoadUnmanagedLibrary($@"{assemblyPath}/libwkhtmltox");
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
Orientation = Orientation.Landscape,
PaperSize = PaperKind.A4,
Out = "wwwroot/test.pdf"
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur mauris eget ultrices iaculis. Ut odio viverra, molestie lectus nec, venenatis turpis.",
WebSettings = { DefaultEncoding = "utf-8" },
HeaderSettings = { FontSize = 9, Right = "Page [page] of [toPage]", Line = true, Spacing = 2.812 }
}
}
};
_pdfConverter.Convert(doc);
}
Я скопировал libwkhtmltox.so и libwkhtmltox.dll в корень моего проекта, где находятся все .dll.
Установлено sudo apt-get install libgdiplus
Всегда получаю эту ошибку
DllNotFoundException: не удалось загрузить общую библиотеку '/ var / www / webapi / webapi / libwkhtmltox' или одну из ее зависимостей. Чтобы помочь диагностировать проблемы с загрузкой, рассмотрите возможность установки переменной среды LD_DEBUG: / var / www / webapi / webapi / libwkhtmltox: не удается открыть общий объектный файл: такого файла или каталога нет
Кстати, если я запускаю проект на windows, то работает отлично !!!
Заранее спасибо !!