Конвертируйте XLSX в PDF с помощью Syncfusion. NET Базовая библиотека в контейнере Linux Docker - PullRequest
0 голосов
/ 12 февраля 2020

Я могу сделать это, запустив приложение локально (net консольное приложение ядра 3.1). Если я запускаю это в контейнере Linux Docker, я получаю следующую ошибку:

{System.ArgumentNullException: значение не может быть нулевым. (Параметр 'fontFile') в Syncfusion.Pdf.Graphics.PdfTrueTypeFont.CreateFontInternal (поток fontStream, стиль PdfFontStyle)

Что я делаю, так это редактирование существующего файла XLSX со значениями замены, например:

worksheet.Range["C10"].Text = summary.User.Name;

Я могу сохранить это прекрасно. Следующий шаг - преобразование этого в PDF, где все разваливается. PS Я в состоянии создать новый документ PDF sh отлично, проблемы возникают только при конвертации.

//Convert Excel document into PDF document 
PdfDocument pdfDocument = renderer.ConvertToPDF(worksheet);

Это происходит независимо от того, конвертирую ли я лист или всю книгу.

Я изменил весь текст в файле Excel на что-то стандартное, например Arial, но проблема сохраняется.

1 Ответ

0 голосов
/ 06 марта 2020

Шрифты не были установлены в docker контейнере. Таким образом, при преобразовании Excel в PDF через Docker возникает исключение. Мы просим вас установить шрифты в контейнер, используя приведенный ниже код после первой строки в файле Docker, чтобы решить эту проблему.

FROM mcr.microsoft.com/dotnet/core/runtime:3.0-buster-slim AS base 
RUN apt-get update -y && apt-get install libfontconfig -y 
ENV LANG="en_US.UTF-8" 
...