Perl Win32 :: OLE ExportAsFixedFormat синтаксис для PowerPoint - PullRequest
1 голос
/ 30 сентября 2011

У меня проблемы с использованием perl (клубника) и win32 :: ole с использованием powerpoint (из office2010) для преобразования ppt (x) в pdf.

Я могу экспортировать в jpgs нормально с помощью функции Export, но с помощью функции ExportAsFixedFormat имеет довольно неясный синтаксис, и всегда дает мне 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

Кто-нибудь может предложить рабочий пример?

Ответы [ 2 ]

1 голос
/ 23 января 2012

Просто для завершения ответа от Голема было здесь:

use Win32::OLE::Const 'Microsoft PowerPoint';
...
$Presentation->SaveAs("$outfile",ppSaveAsPDF, 1);

Это работает с использованием PowerPoint 2007 на Windows 7, но возвращаемое значение должно быть проигнорировано.

0 голосов
/ 30 сентября 2011

Я решил использовать

$Presentation->SaveAs("$outfile", 32);

было сложно найти 32 = формат PDF а также $ outfile необходимые сле в пути (с \ я получил путающие ошибки).

...