2013-07-08 77 views
1

我試圖將TIF文件轉換爲PDF文件。下面是執行轉換的代碼,然而,當它轉換時,我會丟失TIF文件中的內容並且只能得到空白的PDF文件。如何轉換文件並將圖片保留在原始TIF文件上。如何將TIF文件轉換爲PDF文件

$InputLocation = "C:\convert" 





$tool = 'C:Program Files (x86)\PDFCreator\PDFCreator.exe' 
$tiffs = get-childitem -filter *.tif -path $InputLocation 

foreach($tiff in $tiffs) 
{ 
    $filename = $tiff.FullName 
    $pdf = $tiff.FullName.split('.')[0] + '.pdf' 


    'Processing ' + $filename + ' to ' + $pdf  
    $param = "-sOutputFile=$pdf" 
    & $tool /IF$filename /OF$pdf /NoPSCheck /NoStart 

} 
+0

你需要首先創建PS文件? – val

回答

0

正如@Preet Sangha所說的,你需要雙引號參數。

這應做到:

$InputLocation = "C:\convert" 

$tool = 'C:Program Files (x86)\PDFCreator\PDFCreator.exe' 
$tiffs = get-childitem -filter *.tif -path $InputLocation 

foreach($tiff in $tiffs) 
{ 
    $filename = $tiff.FullName 
    $pdf = $tiff.FullName.split('.')[0] + '.pdf' 


    'Processing ' + $filename + ' to ' + $pdf  
    $param = "-sOutputFile=$pdf" 
    Start-Process $tool -ArgumentList ('/IF"' + $filename + '" /OF"' + $pdf + '/NoPSCheck /NoStart') 
} 

編輯:改用開始處理,而不是&

+0

術語'C:\ Program Files(x86)\ PDFCreator \ PDFCreator.exe/IF「C:\ convert \ 00020001.TIF」/OF"C:\convert\00020001.pdf"/NoPSChec k/NoStart'is未被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查 名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。 在M:\ Powershell \ convert.ps1:18 char:6 +&<<<<($ tool +'/ IF「'+ $ filename +'」/ OF「'+ $ pdf +'」/ NoPSCheck/NoStart')+ CategoryInfo:ObjectNotFound:(C:\ Program File ... SCheck/NoStart:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException – Peter3

+0

@ user2471571 - 我的錯誤,沒有時間去嘗試代碼,剛剛修改您現有的代碼。 已修改爲使用Start-Process來運行該程序。我沒有PDF Creator軟件來進行完整的測試,但只是一試身手。 –

+0

我真的很感謝所有的幫助。它現在運行時沒有錯誤,但現在正在「刪除」該文件。我猜測它可能與輸出路徑有關 – Peter3

0

根據command line reference您需要圍繞文件名和輸出格式使用雙引號。

例如

pdfcreator.exe /IF"C:\description.ps" /OF"C:\description.pdf" /OutputSubFormat"PDF/A-1b"