Script de Powershell para imprimir páginas PDF específicas en imágenes
¿Cómo podría cambiar este script de PowerShell?
Start-Process –FilePath “C:\Data\PROJECTS\ABC.pdf” –Verb Print -PassThru | %{sleep 10;$_} | kill
a:
imprimir páginas específicas de un PDF,directamente a una imagen (por ejemplo, png, jpg, tif, etc.) yguardarlos en consecuencia?Por ejemplo, quiero imprimir las páginas 3,4,7 de ABC.pdf en tres archivos separados llamados ABC_3.png, ABC_4.png y ABC_7.png; El archivo de imagen puede tener cualquier formato (.png, .jpg, .tif, etc.).
Planeo llamar a una lista .csv para obtener todos los valores de los parámetros (por ejemplo, número de página para imprimir, nombre de salida con número de página, ruta de archivo a nueva ubicación de archivo, etc.) pero no sé cómo configurar la sintaxis de PowerShell. Gracias.
ACTUALIZAR:
He progresado en esta tarea con el script a continuación, que requiere un script fantasma. Hace 1-3 arriba, excepto que parece que no puedo configurar mi -dFirstPage y -dLastPage en un parámetro de mi csv ... Obtengo el error de PowerShell:
Invalid value for option -dFirstPage=$pg, use -sNAME = to define string constants
si reemplazo $ pg con un número, parece funcionar bien. ¿Cómo usaría -sNAME para arreglar esto?
nuevo SCRIPT
#Path to your Ghostscript EXE
$tool = 'C:\Program Files\gs\gs9.19\bin\gswin64c.exe'
$files = Import-CSV 'C:\Data\files.csv' -Header ("FileName","Type","Map","Section","MapPg","SectionPg","Directory","PathName","LastWriteTime")
ForEach($File in $files)
{
if ($File.Map -eq "T" -And $File.Type -eq "pdf")
{
$tif = $File.PathName + "_Pg" + $File.MapPg + ".tif"
$param = "-sOutputFile=$tif"
$inputPDF = $File.PathName + ".pdf"
$pg = $File.MapPg
& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 -dFirstPage='$pg' -dLastPage='$pg' $inputPDF -c quit
}
ElseIf ($File.Section -eq "T" -And $File.Type -eq "pdf")
{
$tif = $File.PathName + $File.SectionPg + ".tif"
$param = "-sOutputFile=$tif"
$inputPDF = $File.PathName + ".pdf"
$pg = $File.SectionPg
& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 -dFirstPage='$pg' -dLastPage='$pg' $inputPDF -c quit
}
}