我使用powerl(来自office2010)使用perl(草莓)和win32 :: ole时遇到问题 将ppt(x)转换为pdf。
我可以使用Export函数导出到jpgs,但函数ExportAsFixedFormat的语法非常模糊,alwawys给了我
Win32::OLE(0.1709) error 0x80020011: "Does not support a collection"
。
这是我正在尝试的样本
my $ppoint = Win32::OLE->new('PowerPoint.Application', 'Quit');
my $Presentation = $ppoint->Presentations->Open("$infile") || die("Una +ble to open document ", Win32::OLE->LastError()) ;
$Presentation->ExportAsFixedFormat("$outfile", 2, 2, "msoCTrue", "ppPrintHandoutHorizontalFir +st", "ppPrintOutputFourSlideHandouts", "msoFalse", "", "" , "", "Fals +e", "False", "False", "False", "False");
第二个参数ppFixedFormatTypePDF应为2
第三个参数'ppFixedFormatIntentPrint'应为2
有人可以提出一个有效的例子吗?
答案 0 :(得分:1)
只是为了完成golemwashere的答案:
use Win32::OLE::Const 'Microsoft PowerPoint';
...
$Presentation->SaveAs("$outfile",ppSaveAsPDF, 1);
这可以在Windows 7上使用powerpoint 2007,但必须忽略返回值。
答案 1 :(得分:-1)
我解决了使用
$Presentation->SaveAs("$outfile", 32);
很难找到32 = pdf格式 以及$ outfile需要foward斜线:/ 在路径(与\我有混乱的错误)。