asp.net-core - Aspose Cell .net core:Linux主机上的一些文本被截断
问题描述
在 .net 核心平台上使用 aspose 开发导出功能时遇到问题。问题是导出为 PDF 的某些行数据被截断。
我在本地环境(Windows)上试过没有问题。结果和我预期的一样好。
但是当我将代码发布到主机环境(linux)中时,结果似乎不对。
我的本地结果(Windows)
我的托管结果(linux)
这是我用来生成文件的一段代码
public FileData ExportToFile(DataTable data, string format, string query)
{
var workbook = new Workbook();
var style = workbook.CreateStyle();
workbook.DefaultStyle = style;
var sheet = workbook.Worksheets[0];
AutoFitterOptions oAutoFitterOptions = new AutoFitterOptions { AutoFitMergedCells = true, OnlyAuto = true };
data = _RemoveFormat(data); // Parse all data to String
/**/
sheet.PageSetup.Orientation = PageOrientationType.Landscape;
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.AllColumnsInOnePagePerSheet = true;
sheet.AutoFitRows(oAutoFitterOptions);
sheet.AutoFitColumns(oAutoFitterOptions);
workbook.Save(stream, pdfSaveOptions);
/**/
}
解决方案
在与 Aspose 支持人员讨论后。我发现托管服务器(linux)中缺少字体引起的差异。所以我需要将它安装在服务器上以使两个文档具有相同的样式。
就我而言,我的应用程序托管在 kubernetes 集群中,所以我需要在dockerfile
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
RUN apt-get update \
&& apt-get install -y --allow-unauthenticated \
fontconfig \
ttf-mscorefonts-installer
推荐阅读
- android - 如何从 Jacoco 报告中的 Parcelable 中排除自动生成的方法?
- json - 如何在打字稿中对json对象进行排序
- javascript - 如何修复此 json 电子邮件模式
- xpath - 如何停止特定标签?
- python - 计算 scikit-survival 中系数的置信区间
- c# - 如何在 codedUI 中的任何项目类中获取当前测试方法名称?
- vb.net - 在 DataGridView 返回单元格索引上的右 clic 是在哪里创建了右 clic?
- aws-appsync - 我的 GraphQLmuatation 没有保存到 dynamodb
- javascript - 无法从购物车中删除商品(在前端),但在后端可以使用
- node.js - 是否有任何解决方案可以等待嵌套的 forEach 直到使用 node.js 中的 async/await 返回结果