【发布时间】:2020-07-22 15:59:42
【问题描述】:
我想比较两个 .pptx 文件。比较后,我想打印输出,例如更改了哪张幻灯片? 任何人都可以对此有任何想法吗? 提前致谢。
【问题讨论】:
标签: c# .net compare powerpoint
我想比较两个 .pptx 文件。比较后,我想打印输出,例如更改了哪张幻灯片? 任何人都可以对此有任何想法吗? 提前致谢。
【问题讨论】:
标签: c# .net compare powerpoint
您可以将 PPTX 文件重命名为 *.zip 文件,然后提取将包含 xml 和图像文件的内容,以便您可以单独比较这些文件。
这就是 dot net 所能做的一切。
System.IO.File.Rename() 将 *.pptx 文件重命名为 *.zip
\_rels\.rels
\docProps
\docProps\app.xml
\docProps\core.xml
\docProps\thumbnail.jpeg
\ppt
\ppt\_rels
\ppt\media
\ppt\notesMasters
\ppt\notesMasters\_rels
\ppt\notesMasters\notesMaster1.xml
\ppt\notesSlides
\ppt\notesSlides\_rels
\ppt\notesSlides\notesSlide1.xml
\ppt\notesSlides\notesSlide2.xml
\ppt\slideLayouts
\ppt\slideLayouts\_rels
\ppt\slideLayouts\slideLayout1.xml
\ppt\slideLayouts\slideLayout2.xml
\ppt\slideMasters
\ppt\slideMasters\_rels
\ppt\slideMasters\slideMaster1.xml
\ppt\slideMasters\slideMaster2.xml
\ppt\slides
\ppt\slides\_rels
\ppt\slides\slide1.xml
\ppt\slides\slide2.xml
\ppt\tags
\ppt\theme
\ppt\presentation.xml
\ppt\presProps.xml
\ppt\tableStyles.xml
\ppt\viewProps.xml
\[Content_Types].xml
【讨论】:
使用Presentation.Export 方法将每张幻灯片导出为PNG,使用答案here、hash 获取每张图片中的像素值(很确定您可以只散列一个通道),将这些散列存储为2 个列表(每个演示文稿一个),然后运行Except 查询,你就得到了独特幻灯片的哈希值。如果您将图像名称存储为字典键并将散列存储为值,则可以反向查找散列,然后您只需打印这些图像。
编辑:我将您的问题读作“打印幻灯片”。没关系,图片名称应该足以引用原始幻灯片编号
【讨论】: