【问题标题】:Use img2pdf in batch command line在批处理命令行中使用 img2pdf
【发布时间】:2020-11-19 19:48:53
【问题描述】:

我一直在寻找一个“非常简单”问题的解决方案。 我创建了一个批处理文件(在 Windows 下),它允许我下载一组图像。我只想将这些图像合并为 PDF(图像 1:第 1 页,图像 2:第 2 页等......)。 我正在使用(用于 shell)出色的 img2pdf 包,效果很好!

所以在 windows 下我也是这样做的:我下载(使用 python 和 pip)包并给它这个命令(在 shell 下完全一样):

img2pdf *.jpg -o FILE.pdf

很遗憾,它无法识别*.jpg(代表“所有带有 .jpg 扩展名的文件”)。

我想指出,当然,我的文件在 .jpg 中,并且该软件包可以完美运行,因为只需一个文件 (img2pdf 1.jpg -o FILE.pdf) 就可以完成这项工作。

那怎么让他明白呢?

提前感谢您的帮助!

【问题讨论】:

  • 我猜你正在寻找for loopfor %I in ("*.jpg") do img2pdf "%~I.jpg" -o "%~nxI.pdf"(在批处理文件中将%-符号加倍)...
  • 感谢您的回答!是的,我尝试过,但不幸的是,它会为每张图片创建一个 PDF 文件,而不是将所有图片合并为一个 PDF。
  • 对不起,我读过“合并”。不知道img2pdf,不知道是否支持合并,恐怕帮不上忙;它的文档是怎么说的?
  • 没问题!谢谢 ;) 实际上这个包不是为 Windows 开发的,但它在 python 下工作,所以我尝试将它嵌入一个批处理文件中,它适用于这样的文件程序集:img2pdf 1.jpg 2.jpg 3.jpg -o FILE.pdf 但不是文件夹中的所有文件!
  • 我知道文件夹中的文件数量,也许可以将其包含在计数中?像这样:1->% FILES% .jpg

标签: batch-file cmd command-line command-line-arguments img2pdf


【解决方案1】:

img2pdf 似乎不支持通配符,但它可能支持文件列表:

@echo off
setlocal EnableDelayedExpansion
rem // Build a space-separated list of quoted file names:
set "LIST=" & for %%I in ("*.jpg") do set "LIST=!LIST! "%%I""
rem // Provide the built list as arguments to the tool:
img2pdf !LIST! -o "FILE.pdf"
endlocal

【讨论】:

    猜你喜欢
    • 2020-03-23
    • 1970-01-01
    • 2018-11-07
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多