PDF处理控件Aspose.PDF进阶技巧:在C#中将PDF转换为PowerPoint PPTX

在大多数情况下,基本的转换选项集效果很好。但是,今天,我们将讨论将PDF转换为PPTX的一些高级技巧——处理注释或评论,将装饰图形与内容图像分开等内容。

(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权)

PDF至PPTX C#转换–处理注释或注释

当告诉别人一些事情并使用演示文稿时,我还喜欢在幻灯片上做笔记,画箭头,用几何形状绘制重音等。

如何在PDF上绘图/span>

很简单,可以在Adobe Reader DC或Microsoft Edge中打开PDF文件,然后使用铅笔工具。默认情况下,Adobe Reader使用红色铅笔。

PDF处理控件Aspose.PDF进阶技巧:在C#中将PDF转换为PowerPoint PPTX

而Microsoft Edge使用蓝色的。

PDF处理控件Aspose.PDF进阶技巧:在C#中将PDF转换为PowerPoint PPTX

如果将此类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处理控件Aspose.PDF进阶技巧:在C#中将PDF转换为PowerPoint PPTX

这意味着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个图像。

PDF处理控件Aspose.PDF进阶技巧:在C#中将PDF转换为PowerPoint PPTX

应该注意的是,并非总是能够准确地将背景图像与内容图像分开。因此,转换器有时可能会出错,并在内容中添加额外的元素。


还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月17日
下一篇 2020年9月17日

相关推荐

发表回复

登录后才能评论
tml>