如何使用 Windows 命令列自動將圖像文件列印為 pdf 文件

如何使用 Windows 命令列自動將圖像文件列印為 pdf 文件

編輯:如果有幫助的話,我的朋友似乎可以安裝 IrfanView。

我正在幫助一位朋友自動執行將資料夾中的每個影像檔案列印到多個 PDF 中的任務:每個影像都會列印到 Windows 10 電腦中的不同 PDF 中。我的朋友在公司環境中工作,對安裝有嚴格的規定,因此有很多東西無法安裝,例如

  • 不在虛擬機器中
  • 到目前為止,我知道他無法安裝imagemagick、2pdf、foxit
  • 他有 acrobat reader 和 PDF-XChange Pro,但不確定這些是否有幫助,到目前為止我還沒有發現該軟體有任何幫助
  • 一些要列印的圖像檔案位於這些特殊的 tiff 檔案中,其中單個圖像具有多個圖像“頁面”,我認為它稱為 mtif 或 multifif?當腳本列印這些內容時,它僅產生包含第一個「頁」的 PDF。理想的結果是單一多頁 PDF 檔案。
  • 腳本在「後台」運行的次數越多越好。

到目前為止,我所做的是一個非常簡單的批次腳本,它利用了「Microsoft Print to PDF」虛擬印表機和 mspaint 命令列。如果我可以透過 mspaint 之外的另一個命令以某種方式啟動「Microsoft Print to PDF」印表機,也許我至少可以解決將 multitif 列印到包含所有「頁面」的單一 PDF 中的問題。我這樣說是因為如果我使用 mspaint GUI 列印 mtif,我會複製相同的問題。 (用單頁產生 PDF 的 mtif」)。

更新:這也可能只是一個巧合,問題在某種程度上是由於批次作業造成的。 IrfanView 中的 /print="Microsoft Print to PDF" 會產生與單頁 PDF 相同的不良結果,其中僅將所述 multitiff 的第一個影像作為所述命令的輸出。

這是我到目前為止製作的批次腳本

@echo off
echo This script will print all the images in this foldes
echo so long as they are openable with mspaint 
echo and print in a new, unique folder inside %~dp0

for %%i in (*.jpg) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.jpeg) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.png) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

for %%i in (*.tif) do (
  mspaint /pt %%i "Microsoft Print to PDF"
)

我的朋友已經透過該腳本向我表示感謝,儘管該腳本要求提供每個 pdf 檔案的名稱和目的地,但它仍然為他節省了一些時間和點擊次數。我想做得更好,但 mtif 檔案仍然有問題。

我已準備好創建資料夾的程式碼

@echo off
mkdir Img2Pdf%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%" - "%time:~0,2%"h"%time:~3,2%"m"%time:~6,2%"s"
pause

我認為添加副本/將生成的文件移動到資料夾中或向文件添加名稱對我來說不會有問題。但到目前為止,我發現缺乏列印選項,這是一項相當困難的工作。我有什麼選擇?我猜沒有!

感謝您花時間閱讀本文,如果有任何方法可以改進問題,請告訴我,很抱歉,如果程式碼/拼字可能會讓你們中的一些人感到畏縮,因為它不是最優化的程式碼或最正確的措辭,我請承擔和我在一起,如果可能的話,要友善。

答案1

列印到PDF文件的過程需要更多時間,應該很慢,我建議您可以直接從圖像文件轉換為PDF文件,直接轉換非常快並且質量無損,例如,您可以使用VeryPDF Image to PDF Converter軟體可將所有影像檔案即時批次轉換為PDF 檔案。

相關內容