使用Powershell将图像插入Powerpoint中

问题描述 投票:0回答:1

所以,我在这里找到了一些将图像文件复制到剪贴板的powershell代码,以及将复制到剪贴板的图像粘贴到PowerPoint幻灯片中的另一组代码,但是我似乎没有正确地集成它们。

它似乎可以运行,打开和关闭PDF,但实际上并没有粘贴图像。

function PDFtoPPT{

param ($pathtoPDF, $tempsavepath, $firstpage, $lastpage, $targetPPT, $targetslide)

$arg1 = $pathtoPDF

$arg5 = $tempsavepath

&pdftoppm -f $firstpage -l $lastpage -jpeg $arg1 $arg5



[Reflection.Assembly]::LoadWithPartialName('System.Drawing');
[Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');


$objPPT = New-Object -ComObject Powerpoint.Application
$objPPT.Visible ='Msotrue'
$pp1 = $objPPT.Presentations.open($targetPPT)

$i = [int]$i
$firstpage = [int]$firstpage
$lastpage = [int]$lastpage

For ($i=$firstpage; $i -le $lastpage; $i++) {




$filename = $tempsavepath + '-' + $i +'.jpg';
$file = get-item($filename);
$img = [System.Drawing.Image]::Fromfile($file);
[System.Windows.Forms.Clipboard]::SetImage($img);



$slide = $pp1.Slides.Item($targetslide)



$shape = $Slide.Shapes.PasteSpecial(0,$false,$null,$null,$null,$null)


$shape.Left = 50
$shape.Top = 150
$shape.Width = 300
$shape.Height = 168


$img.Dispose()
Remove-Item $filename

$targetslide = $targetslide+1

}

$pp1.Save
$pp1.Close()
$objPPT.quit()


}

#Test

PDFtoPPT 'C:\...\test.pdf' 'C:\...\test' '1' '2'  'C:\...test.pptx' 3

是否有更简单的方法将生成的图像复制并粘贴到目标Powerpoint?测试剪贴板后,它似乎正在复制,因此我怀疑问题出在粘贴。

powershell
1个回答
0
投票

更新:

© www.soinside.com 2019 - 2024. All rights reserved.