提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-10-20 11:07:46.837|阅读 666 次
概述:在大多数情况下,基本的转换选项集效果很好。但是,今天,我们将讨论将PDF转换为PPTX的一些高级技巧——处理注释或评论,将装饰图形与内容图像分开等内容。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
在前一篇教程中,我们讨论了如何在.NET应用程序中使用C#将PDF文件转换为PowerPoint PPT / PPTX演示文稿。在大多数情况下,基本的转换选项集效果很好。但是,在本文中,将讨论将PDF转换为PPTX的一些高级技巧:
目前,.NET版Aspose.PDF升级到v20.10版,新增支持ZUGFeRD附件,优化添加签名功能吗,修复XPS到PDF转换异常等诸多Bug问题,感兴趣的朋友可点击下方按钮下载最新版。
当告诉别人一些事情并使用演示文稿时,我还喜欢在幻灯片上做笔记,画箭头,用几何形状绘制重音等。
很简单,可以在Adobe Reader DC或Microsoft Edge中打开PDF文件,然后使用铅笔工具。默认情况下,Adobe Reader使用红色铅笔。
而Microsoft Edge使用蓝色的。
如果将此类PDF文件转换为PPTX演示文稿,则所有注释都将传输到PPTX文件。
根据PDF标准,我们正在处理页面的内容和名为注释的其他元素。让我们写一小段C#代码来研究此类文档中存在哪些类型的注释。
private static void ShowAnnotations()
{
var inputFileName = @"C:\tmp\Presentations\Sample 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中的其他图形,我们应该删除Ink和Square注释。以下是执行此操作的步骤。
下面的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转换中的图形内容。
在将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个图像。
应该注意的是,并非总是能够准确地将背景图像与内容图像分开。因此,转换器有时可能会出错,并在内容中添加额外的元素。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
Aspose.Slides for Java使用户能够轻松地操作幻灯片、添加注释和转换文件。其易用性和集成能力提高了工作效率,使开发人员能够专注于更关键的任务。
在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站