Perl - 打开并读取.ppt / .pptx文件?

时间:2016-11-17 21:34:29

标签: perl

我想打开并阅读PowerPoint演示文稿幻灯片中的文本。 我怎样才能做到这一点? 我知道我可能不得不使用Win32:OLE,但到目前为止,我尝试的所有代码示例都不起作用。

编辑: 我只有这部分代码不起作用:

$file = "C:\file.pptx";
my $powerpoint = Win32::OLE->GetActiveObject('Powerpoint.Application');
my $document = $powerpoint->Presentations->Open($file);
my $slides = Win32::OLE::Enum->new($document->Slides );
print $slides; 

谢谢!

2 个答案:

答案 0 :(得分:1)

我有一个简短的例子来演示extracting bullet lists

您的特定问题是由于

$file = "C:\file.pptx";

在右侧,您有一个包含\f的双引号字符串。 \f代表form feed。也就是说,字符串包含C: FF ile

您可以使用$file = "C:\\file.pptx"获取驱动器file.pptx根目录中C:的实际路径。

答案 1 :(得分:0)

你可以试试这样的东西吗?还验证该文件是否可访问?尝试将文件放在脚本所在的同一目录中,然后通过删除路径确保相应地指向它。还要确保powerpoint文件是有效的powerpoint文件,并且可以使用Powerpoint

的安装打开
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft PowerPoint';

my $powerpoint = Win32::OLE->GetActiveObject('Powerpoint.Application') or die "Unable to open";
my $document = $powerpoint->Presentations->Open({FileName=>'c:\\file.pptx', ReadOnly=>1});
...do stuff from here...