【问题标题】:Corrupted powerpoint pptx generated using openxml C#使用 openxml C# 生成的损坏的 powerpoint pptx
【发布时间】:2022-01-18 09:15:41
【问题描述】:

打开使用 open xml 生成的 powerpoint 文件时出现以下错误。我比较了修复文件和损坏文件的xml,似乎是一样的。你能帮忙吗

提前致谢。

编辑:

我使用了来自here 的示例代码。如果您运行此代码,它可以正常工作。但是,如果我们更改这部分:

   bodyShape.TextBody = new TextBody(new Drawing.BodyProperties(),
                        new Drawing.ListStyle(),
                        new Drawing.Paragraph(new Drawing.Run(new Drawing.Text() { Text = text }));

它会创建损坏的文件。

【问题讨论】:

  • 您创建的任何 ppt 都会发生这种情况吗?如果是这样,您可以上传损坏和修复的版本吗?也许有一些编码差异你是如何比较这些文件的?
  • 我将文件重命名为 .zip,然后提取了 xml。比较每个 xml 文件。我将上传这两个文件。这里怎么上传文件,找不到选项
  • 添加了文件的链接。仅可使用 48 小时
  • 如果使用解压文件(重命名为.zip后),您可以使用winmerge比较内容。您会看到一些不同:在 [content_types].xml 中,修复后的版本在第一行中具有standalone="yes"?> 而在 docProps/app.xml 中,计数器具有不同的值。
  • 如何修复计数器?

标签: c# powerpoint openxml


【解决方案1】:
                string _DescripcionSuperior = "Hello World";

                bodyShape.TextBody = new P.TextBody(new Drawing.BodyProperties(),
                             new Drawing.ListStyle(),
                             new Drawing.Paragraph(new Drawing.Run(
                                 new Drawing.RunProperties() { Language = "es-MX", FontSize = 1000, Dirty = false, Bold = false },
                                 new Drawing.Text(_DescripcionSuperior)
                                 )));

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多