【问题标题】:shell script to change .pdf files to .png Mac OS 10.3将 .pdf 文件更改为 .png Mac OS 10.3 的 shell 脚本
【发布时间】:2011-09-15 01:15:26
【问题描述】:

我想在 Mac OS 10.3 上制作一个将 pdf 转换为 png 的脚本。我一直在环顾四周,但我不确定它是否可能。我一直在阅读有关“sips”命令的信息,但它似乎在 10.3 上不可用,或者至少在这个命令上不可用。我在终端输入了 man sips ,但没有任何结果。 我已经编写了几个 bash 脚本,并且有点了解它们的工作原理,但希望这个工作中的特定问题将是一种很好的练习方式。我可能会写一些改变名称的东西,但我不确定它本身是否会起作用,因为新的 png 文件可能实际上不会起作用。 有没有办法从终端基本上打开预览,打开每个文件,然后另存为 png?那可能是最好的选择。 谢谢

【问题讨论】:

  • sips 将是一个很好的工具(命令是sips -s format png infile.pdf --out outfile.png),但它看起来像是开始包含在 10.4 (Tiger) 中。

标签: image macos bash scripting


【解决方案1】:

使用以下 shell 脚本。

  1. 制作 bash 文件,例如 test.bash

for i in *.pdf; do name=$i; name=${name%.*}; sips -s format png $i --out ${name}.png; done

  1. 输入命令

bash test.bash

【讨论】:

    【解决方案2】:

    我没有合适的系统来测试,但我认为 sips 出现在 10.3 中。 (肯定是在 10.4 中。)

    仅仅因为没有手册页并不意味着它不存在(尝试sips -hls /usr/bin/sips)。

    如果它在那里,Sorpigal 的回答 (+1) 对基本脚本很有用,但是替换

    convert "$pdf" "${pdf%%.*}.png"
    

    sips -s format png --out "${pdf%%.*}.png" "$pdf"
    

    【讨论】:

    • 所以我可以在命令行上使用 sips,但我无法在脚本中使用它。它说警告:* {pdf,不是有效文件 - 跳过错误 4:未指定文件尝试使用此工具获取帮助 'sips --help'
    • 除非您省略了shopt -s nullglob 并且*{pdf,PDF} 中的逗号后面加了一个空格,否则我看不到任何明显的方法来获取该确切的错误消息。 (除非 10.3 中的 bash 版本有点奇怪,我猜这很古老。)
    • 自从我更改了它后,我无法分辨,但我敢打赌它很有可能是一个空格。这让我之前在 sh 脚本中绊倒了。我真的习惯了 java 和 c++ 并且通常不太关心空间。
    【解决方案3】:

    10.3 有点旧,所以不能尝试解决方案。

    但是这里有一个教程http://www.mactech.com/articles/mactech/Vol.21/21.03/BasicImageManipulation/index.html 如何通过 applescript 和内置的 Apple ImageEvents(10.3 附带)进行转换。只需尝试将 jpeg/tiff 更改为 pdf/png。

    【讨论】:

      【解决方案4】:

      ImageMagick可以这样做

      convert "your file.pdf" "output file.png"
      

      您必须安装它,因为它默认不可用。

      如果要转换大量文件,添加for循环

      cd /some/directry/with/pdfs
      shopt -s nullglob
      for pdf in *{pdf,PDF} ; do
          convert "$pdf" "${pdf%%.*}.png"
      done
      

      这将为每个在该目录中扩展名为 .pdf 或 .PDF 的 PDF 创建同名的 PNG 文件。

      【讨论】:

      • 请注意,PDF 是矢量图形,而 PNG 是光栅图形。从一种转换到另一种并非易事,可能需要对尺寸、深度和颜色配置文件设置进行一些调整才能获得您期望的输出。
      • 我使用的是 sips 而不是 ImageMagick,但它所做的转换似乎工作得很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2023-03-18
      • 1970-01-01
      • 2021-03-27
      相关资源
      最近更新 更多