所以,我在这里找到了一些将图像文件复制到剪贴板的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?测试剪贴板后,它似乎正在复制,因此我怀疑问题出在粘贴。
更新: