为有中文需求的客户提供多渠道中文技术支持.

Wed Sep 25, 2024 7:46 am

Spire.Doc for .NET 在 Linux 環境無法加入 Base64 圖檔
測試在 windows 環境底下沒有問題
但在 Mac 或者 Linux 環境下都無法加入圖片
套件名稱 :Spire.Doc
版本: 11.4.12

套件名稱 :SixLabors.ImageSharp
版本: 3.1.5
以下為範例代碼

Code: Select all
   var createDocPath = "test.doc";
   Doc = new Document();
   Doc.AddSection();
   var table = Doc.Sections[0].AddTable(true);
   table.ResetCells(1, 1);
   var cell = table.Rows[0].Cells[0];
   Paragraph paragraph = cell.AddParagraph();
   var filePath = $"{Guid.NewGuid()}.jpg";
   var base64Image = "這裡請填入您的 Base64 字符串";
    byte[] imageBytes = Convert.FromBase64String(base64Image);
    using (MemoryStream ms = new MemoryStream(imageBytes))
    {
        using (SixLabors.ImageSharp.Image<Rgba32> image = SixLabors.ImageSharp.Image.Load<Rgba32>(ms))
       {
            using (MemoryStream saveStream = new MemoryStream())
            {
                image.Save(saveStream, new JpegEncoder());
                saveStream.Seek(0, SeekOrigin.Begin);
                File.WriteAllBytes(filePath, saveStream.ToArray());
            }
        }
    }

    using (SixLabors.ImageSharp.Image<Rgba32> image = SixLabors.ImageSharp.Image.Load<Rgba32>(filePath))
    {
        using (var saveStream = new MemoryStream())
       {
            image.Save(saveStream, new JpegEncoder());
            saveStream.Seek(0, SeekOrigin.Begin);
            var imageBytes = saveStream.ToArray();
            paragraph.AppendPicture(imageBytes);
        }
    }

    SaveFile(createDocPath, FileFormat.Doc);
    Doc.Close();

chihomis
 
Posts: 26
Joined: Fri Dec 18, 2020 1:10 am

Thu Sep 26, 2024 2:26 am

您好,

感谢您的留言。 我使用Spire.Doc:11.4.12版本进行测试,发现确实存在你反馈的问题。然后我更新到Spire.Doc:12.8.12版本再进行测试,结果显示一切正常。请更新版本后再进行测试,我们的新版本包含了更多的修复和优化。如果更新后错误仍然存在,请向我们提供你的linux版本信息(例如:Ubuntu 22)进行调查。提前感谢。

Sincerely,
Amin
E-iceblue support team
User avatar

Amin.Gan
 
Posts: 306
Joined: Mon Jul 15, 2024 5:40 am

Return to 中文技术支持