We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

centos7,NET6环境下excel.Save(newFilePath, Aspose.Cells.SaveFormat.Pdf)报错

The type initializer for '\u0006 ’ threw an exception.
image.png (1.6 KB)
image.png (8.5 KB)宋体wps.zip (8.4 KB)

@jieke,

您是否使用“net6.0”文件夹中的 Aspose.Cells.Dll? 另外,我不确定异常跟踪,你能把它作为文本粘贴到这里吗? 您是否检查过它是否适用于 Windows 环境,而您只在 CentOS 上发现问题?

同样的代码 Windows 环境可以,CentOS 不行

var excelFileName = $"{Guid.NewGuid()}.{file.FileExt.Replace(".", “”)}";
str_return_msg = “1”;
FileStream fs = new FileStream(excelFileName, FileMode.Create, FileAccess.ReadWrite);
str_return_msg = “2”;
fs.Write(fileByte.Item2, 0, fileByte.Item2.Length);
str_return_msg = “3”;

                Workbook excel = new Workbook(fs);
                str_return_msg = "4";
                Aspose.Cells.PdfSaveOptions saveOptions = new Aspose.Cells.PdfSaveOptions(Aspose.Cells.SaveFormat.Pdf);
                //保存为PDF文件,此处的SaveFormat支持很多种格式,如图片,epub,rtf 等等
                saveOptions.AllColumnsInOnePagePerSheet = true;
                //是否单页
                saveOptions.OnePagePerSheet = false;

                saveOptions.PdfCompression = Aspose.Cells.Rendering.PdfCompressionCore.Flate;
                saveOptions.PrintingPageType = Aspose.Cells.PrintingPageType.IgnoreBlank;
                str_return_msg = "5";
                excel.Save(saveFileName, saveOptions);

@jieke,

感谢您提供详细信息和示例代码。

我们为您的问题记录了一张 ID 为“CELLSNETCORE-359”的票证。 我们将详细分析您的问题并尽快解决。

一旦我们有更新,我们会在这里通知您。

你好 @jieke
我们在CentOS系统中进行了测试,请查看我分享的测试工程:
CentOSTest.zip (15.5 KB)
我把它publish后然后在CentOS下运行,可以生成PDF文件.
这可能是一个环境问题,请确认是否在CentOS下安装了libgdiplus,它是图形库需要的组件.可以通过运行以下命令安装:

sudo yum install libgdiplus
cd /usr/lib
sudo ln -s libgdiplus.so gdiplus.dll

请告诉我们您的反馈,谢谢.

按这3步走安装了,还是不行

还是不行报错

046065C2@63B0204D.73220262.png.jpg

你好 @jieke
可以在你的CentOS上运行一下简单的绘图测试程序,以缩小问题的范围么,例如执行以下代码,是否可以得到结果?(引用System.Drawing.Common.)

        System.Drawing.Image img1 = Image.FromFile("Test96.png");
        Graphics g = Graphics.FromImage(img1);
        g.DrawString("Test on CentOS", new System.Drawing.Font("Calibri", 10),
            new SolidBrush(Color.Red), new PointF(10, 10));
        img1.Save("Out.png");