Kay*_*Kay 18 windows printing pdf cmd sh
我正在尝试在当前目录中打印所有pdf.当我在cmd(singlepdf.sh)中调用这个bash脚本时:
'"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"' /t Gemeinde_348_BioID_842_alt.pdf一切正常.
multiplepdfs.sh使用此内容致电时:
declare -a pdfs=(*.pdf)
for pdf in ${pdfs[@]}; do
echo -e "\nprinting **$pdf** with AcroRd32.exe...\n"
'"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"' /t $pdf
sleep 3
done
Run Code Online (Sandbox Code Playgroud)
echo显示文件在循环中正确处理 - 但后来我得到了错误 "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe": No such file or directory
有人可以帮忙解决这个问题吗?
编辑: BTW,我安装了msys mingw
scr*_*pts 27
我知道这是老问题,但我最近遇到了同样的问题,没有一个答案对我有用:
搜索了一下后,我发现了这个:http://www.columbia.edu/~em36/pdftoprinter.html.
这是一个简单的exe,你用文件名调用它,它打印到默认的打印机(或你指定的打印机).从网站:
PDFtoPrinter是一个用于从Windows命令行打印PDF文件的程序.该程序通常用于Windows命令行,也适用于vDos DOS模拟器.
要将PDF文件打印到默认的Windows打印机,请使用以下命令:
PDFtoPrinter.exe filename.pdf
Run Code Online (Sandbox Code Playgroud)
要打印到特定打印机,请在引号中添加打印机的名称:
PDFtoPrinter.exe filename.pdf "Name of Printer"
Run Code Online (Sandbox Code Playgroud)
如果要打印到网络打印机,请使用Windows打印对话框中显示的名称,如下所示(并注意名称开头的两个反斜杠和servername后面的单个反斜杠):
PDFtoPrinter.exe filename.pdf "\\SERVER\PrinterName"
Run Code Online (Sandbox Code Playgroud)
I had two problems with using Acrobat Reader for this task.
I stumbled across this blog, that suggests using Foxit Reader. Foxit Reader is free, the API is almost identical to Acrobat Reader, but crucially is documented and does not load the GUI for print jobs.
A word of warning, don't just click through the install process without paying attention, it tries to install unrelated software as well. Why are software vendors still doing this???
错误信息告诉你了。
尝试一下
"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "$pdf"
Run Code Online (Sandbox Code Playgroud)
当您将字符串括在单引号中时,这会使字符串中的所有内容(包括字符)成为有效字符串"。通过删除单引号,shell 会将双引号作为字符串“包装器”进行处理。
我还将文件名变量包装在双引号中,以便您可以轻松处理名称中带有空格的文件,即
"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "$pdf"
Run Code Online (Sandbox Code Playgroud)
IHTH
小智 5
看起来您缺少打印机名称、驱动程序和端口 - 按此顺序。您的最终命令应类似于:
AcroRd32.exe /t <file.pdf> <printer_name> <printer_driver> <printer_port>
Run Code Online (Sandbox Code Playgroud)
例如:
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /t "C:\Folder\File.pdf" "Brother MFC-7820N USB Printer" "Brother MFC-7820N USB Printer" "IP_192.168.10.110"
Run Code Online (Sandbox Code Playgroud)
注意:要查找打印机信息,请右键单击您的打印机并选择属性。在我上面显示的情况下,打印机名称和驱动程序名称匹配 - 但您的信息可能不同。
| 归档时间: |
|
| 查看次数: |
107795 次 |
| 最近记录: |