当前位置: 首页 > 知识库问答 >
问题:

Azure应用程序服务中的邮件合并word docx

白浩荡
2023-03-14
public static void DocXReplaceMergeFields(Stream docStream, Dictionary<string, string> placeholder)
{
  using (var docXml = WordprocessingDocument.Open(docStream, true))
  {
    //docXml.ChangeDocumentType(WordprocessingDocumentType.Document);

    foreach (var run in docXml.MainDocumentPart.Document.Descendants<Run>())
    {
      foreach (var text in run.Descendants<Text>().Where(a => a.Text.StartsWith("«") && a.Text.EndsWith("»")))
      {
        var propertyName = text.Text.Substring(1, text.Text.Length - 2);
        if (placeholder.TryGetValue(propertyName, out var propertyValue))
          text.Text = propertyValue;
      }
    }

    var settingsPart = docXml.MainDocumentPart.GetPartsOfType<DocumentSettingsPart>().First();
    var oxeSettings = settingsPart.Settings.Where(a => a.LocalName == "mailMerge").FirstOrDefault();
    if (oxeSettings != null)
    {
      settingsPart.Settings.RemoveChild(oxeSettings);
      settingsPart.Settings.Save();
    }
    docXml.MainDocumentPart.Document.Save();
  }
}

共有1个答案

黄和怡
2023-03-14

您可以尝试使用Open XML SDK:

https://docs.microsoft.com/en-us/office/open-xml/word-processing

如果由于某种原因而不起作用,请尝试使用Azure Logic应用程序进行同样的操作:

 类似资料:
  • 我正在使用angular框架构建前端应用程序。有没有办法,我如何将应用程序部署到Azure Linux应用程序服务? 我已经用NodeJS堆栈创建了Web应用程序,并将其分配给Linux应用程序服务。我用命令构建了我的angular应用程序,并将其部署到这个web应用程序中。当我使用url:

  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 我有一个nodejs应用程序,它只不过是一个使用微软botbuilder框架构建的机器人。我创建了azure应用程序服务来托管此应用程序。我想找到一种方法,将所有应用程序日志和web服务器日志(如果可能的话)持久化到某个持久化存储中。就像本地web应用程序一样,我们可以在应用程序服务器上查找日志 在做了一些研究之后,我找到了微软关于这方面的官方文件,但看起来它有以下局限性。 我们不能使用应用程序服

  • 我有一个部署在Azure应用服务上的NodeJS应用程序。用38 MB的文件做一个帖子,我得到一个404错误,但是在引擎盖下有一个IIS问题 要设置“maxAllowedContentLength”,我必须编辑“web”。配置文件。 这是不好的,因为如果我在Azure Portal应用程序设置上做一些更改,那么我的本地版本的web应用程序将无法运行。“配置”与自动生成的文件冲突。 是否可以以其他方

  • 我已经开发了API来生成JWT令牌并托管到MS Azure应用服务中。从过去的几个月开始,我们已经发布了大约1,000,00个令牌,现在我们希望根据我们的业务要求从内存中清除/删除所有令牌。 如果我们不从内存中删除/清除令牌,它仍然会持续存在,因为我们发行令牌1年,它将消耗我们的内存长达一年。 我尝试了应用程序服务的“重启”选项,但重启后,先前生成的令牌仍在内存中可用,我们可以访问此JWT令牌。

  • 我对将CPU密集型web应用部署到Azure应用程序服务实例很感兴趣。我找不到有关Azure应用程序服务的CPU使用率和/或限制的任何详细信息。我担心的是,如果不了解我的应用程序的CPU规格/限制,我就无法规划如何准确规划基于云的物理基础设施(使用Azure应用程序服务)。 我的应用程序将使用OpenCV计算机视觉库对数百/数千张高质量图像进行重图像处理、人脸检测和人脸识别。这自然是一个CPU密集