在大多数情况下,基本的转换选项集效果很好。但是,今天,我们将讨论将PDF转换为PPTX的一些高级技巧——处理注释或评论,将装饰图形与内容图像分开等内容。
在
(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权)
PDF至PPTX C#转换–处理注释或注释
当告诉别人一些事情并使用演示文稿时,我还喜欢在幻灯片上做笔记,画箭头,用几何形状绘制重音等。
如何在PDF上绘图/span>
很简单,可以在Adobe Reader DC或Microsoft Edge中打开PDF文件,然后使用铅笔工具。默认情况下,Adobe Reader使用红色铅笔。

而Microsoft Edge使用蓝色的。

如果将此类PDF文件转换为PPTX演示文稿,则所有注释都将传输到PPTX文件。
我们该如何解决
根据PDF标准,我们正在处理页面的内容和名为注释的其他元素。让我们写一小段C#代码来研究此类文档中存在哪些类型的注释。
private static void ShowAnnotations(){ var inputFileName = @"C:tmpPresentationsSample Screen.pdf"; var document = new Aspose.Pdf.Document(inputFileName); foreach (var page in document.Pages) { foreach (var annotation in page.Annotations) { Console.WriteLine($"{page.Number} {annotation.FullName} {annotation.AnnotationType} {annotation.Color}"); } }}
执行后,我们将得到如下结果:

这意味着PDF页面上有三种类型的注释:
- 墨水–这是我们的铅笔画,
- 正方形-我们的矩形图,
删除PDF到PPTX转换中的注释
因此,为了删除PDF中的其他图形,我们应该删除Ink和Square注释。以下是执行此操作的步骤。
- 使用Page.Annotations属性访问注释。
- 按类型过滤注释。
- 循环浏览注释,并使用Page.Annotations.Delete(Annotation)方法将其一一删除。
下面的C#代码段显示了删除PDF到PPTX转换中的注释的一种可能方法:
private static void RemoveAnnotations(Page page, Aspose.Pdf.Annotations.AnnotationType annotationType){ var annotations = page.Annotations.Where(a => a.AnnotationType == annotationType).ToArray(); foreach (var annotation in annotations) { page.Annotations.Delete(annotation); }}
如上所述,演示者可以使用不同的工具和颜色进行注释,并且我们可以(如果需要)调整最后一个样本。例如,我们只能删除红色(颜色代码#E52237)注释或某些演示者的注释。
让我们尝试另一种方法来改善PDF到PPTX转换中的图形内容。
C#PDF到PPTX –从内容图像中分离装饰图形
在将PDF转换为PPTX时,通常将PDF文件中的所有图像分组到输出中的单个背景图像中。这并不总是很方便,而且.NET的Aspose.PDF具有一种特殊的模式,可以在将PDF转换为PPTX时更改转换器的行为。
要启用此模式,可以将SeparateImages属性设置为true。以下代码片段显示了如何在C#中将PDF转换为PPTX时使用此选项:
private static void ConvertPDFtoPPTX(string inputFileName, string outputFileName){ var document = new Aspose.Pdf.Document(inputFileName); foreach (var page in document.Pages) { RemoveAnnotations(page, Pdf.Annotations.AnnotationType.Ink); RemoveAnnotations(page, Pdf.Annotations.AnnotationType.Square); } var options = new Aspose.Pdf.PptxSaveOptions { SeparateImages = true, //CustomProgressHandler = ShowProgressOnConsole }; document.Save(outputFileName, options);}
因此,来自先前示例的幻灯片将被分为3个图像。

应该注意的是,并非总是能够准确地将背景图像与内容图像分开。因此,转换器有时可能会出错,并在内容中添加额外的元素。
还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!