【问题标题】:Convert XLSX to PDF using Syncfusion .NET Core library in a Linux Docker Container在 Linux Docker 容器中使用 Syncfusion .NET Core 库将 XLSX 转换为 PDF
【发布时间】:2020-05-27 22:43:08
【问题描述】:

我能够在本地运行应用程序(.net core 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 文档,只有在进行转换时才会出现问题。

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

无论是转换工作表还是整个工作簿都会发生这种情况。

我已将 excel 文件中的所有文本更改为标准格式,例如 Arial,但问题仍然存在。

【问题讨论】:

    标签: linux docker pdf .net-core syncfusion


    【解决方案1】:

    字体未安装在 docker 容器中。因此,通过 Docker 将 Excel 转换为 PDF 时会引发异常。我们要求您在 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" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      • 2012-05-20
      • 2019-02-21
      相关资源
      最近更新 更多