【问题标题】:OpenXML WordProcessingDocument to base64OpenXML WordProcessingDocument 到 base64
【发布时间】:2015-05-07 09:41:02
【问题描述】:

我创建了一个基于模板的word文档。

现在我想得到这个新word文档的base64字符串。

我发现了一些关于获取内存流然后将其转换为 base64 的内容,但我并不真正了解它是如何工作的。

有什么想法可以将这个WordprocessingDocument doc 转换成base64 吗?

谢谢

【问题讨论】:

    标签: ms-word openxml


    【解决方案1】:

    最简单的方法是

    byte[] bytes= System.IO.File.ReadAllBytes(sFullFileName);
    string sBase64Bytes = System.Convert.ToBase64String(bytes);
    

    您不必使用内存流来加载字节并转换为base 64。但是如果您想更新内存中的某些内容并在内存中获取更新的base64,您可以尝试这个:

              byte[] bytes = System.Convert.FromBase64String(sBase64Data);
              using (MemoryStream ms = new MemoryStream(bytes, true))
              {
                  ms.Write(bytes, 0, bytes.Length);
                  using (WordprocessingDocument doc = WordprocessingDocument.Open(ms,true))
                  {
                      XmlDocument xCusDoc = OpenXmlHelper.GetCustomXmlDocument(doc);
                      sLayoutName = xCusDoc.DocumentElement.Attributes["name"].Value.ToString();
                      using (MemoryStream msw= new MemoryStream())
                      {
                          ms.WriteTo(msw);
                          bytes = msw.GetBuffer();
                      }
                  }//end using (WordprocessingDocument doc
              }//end using (MemoryStream ms 
    

    如果你想把它保存到物理文件,你可以写字节。

    System.IO.File.WriteAllBytes(sFileName, bytes);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2012-01-29
      • 2013-06-24
      相关资源
      最近更新 更多