如何使用 graphicsmagick run/call shell 脚本函数
How to run/call a shell script function with graphicsmagick
我有一个 LaTeX 数学任务的 pdf,我想使用 graphicsmagick 将其转换为 png。我尝试了很多在线转换器和类似工具,none 对我有用。我的 pdf 文档中的单个页面上有单独的任务。一位同事建议使用 graphicsmagick。他还提供了一段代码,我大体上能看懂。一切都在一个 shell 脚本中,我到目前为止从未使用过。
我的问题是:如何 use/execute/call 给定的代码片段?
这是我得到的(我将它保存在我的工作目录中 exam.sh):
function ex {
p=
gm convert -trim -density 300x300 file.pdf[$p] /tmp/page.png
H=$(gm identify /tmp/page.png -format "%h")
gm convert page.png -background white -extent 2000x$H auf.png
}
这是我managed/tried要做的事情:
- 在 Windows 10
上安装 Ubuntu
- 使用终端导航到我的目录(其中包括代码片段的 .sh 和我的 file.pdf)
- 我可以调用一个脚本:我创建了一个 hello.sh 回显 "hello world"(我用“来源 hello.sh”调用它)
- 我可以调用一个脚本,其中包含一个带参数的函数:我创建了一个 add.sh(来自 youtube-video),但我还没有设法从 "outside of the script" 调用一个函数,即save/activate终端内的函数。
- 我安装了graphicsmagick,调用了一个线,我可以"gm convert -trim -density 300x300 file.pdf[$p] /tmp/page.png"手动。
- 我进一步注意到,在 Windows 文本编辑器中编辑 shell 脚本存在一些问题,因此我在终端中使用了 "nano"。
当我尝试时
source exam.sh
它returns"syntax error near unexpected token "
看来 page 是我必须给函数的唯一参数。
ex 1
这也不行。
我很感激关于我必须在脚本中包含什么的任何建议(也许指定某种 shell?),我必须在终端中写什么(chmod + x?)为了告诉我的函数存在的终端以及如何执行函数或为函数提供参数以便最终获得一些 png。
更新
这里有一张图片来说明。我需要裁剪空白 A4 页面上给出的任何 text/formula。最终裁剪应为 2000 像素宽。有相对高度,取决于"long" text/formula/图片如何。
你应该能够像这样一次完成所有操作,无需 Ubuntu 或 shell 脚本,只需在 命令提示符 :
gm convert -density 300x300 file.pdf[0] -trim -background white -extent 2000x auf.png
您可以创建一个名为 EXTRACT.BAT
的批处理文件,如下所示:
gm convert -density 300x300 %1[%2] -trim -background white -extent 2000x auf.png
那么你应该可以做到:
EXTRACT FILE.PDF 2
提取 FILE.PDF
的第 3 页(因为第一页是第 0 页)
我有一个 LaTeX 数学任务的 pdf,我想使用 graphicsmagick 将其转换为 png。我尝试了很多在线转换器和类似工具,none 对我有用。我的 pdf 文档中的单个页面上有单独的任务。一位同事建议使用 graphicsmagick。他还提供了一段代码,我大体上能看懂。一切都在一个 shell 脚本中,我到目前为止从未使用过。
我的问题是:如何 use/execute/call 给定的代码片段?
这是我得到的(我将它保存在我的工作目录中 exam.sh):
function ex {
p=
gm convert -trim -density 300x300 file.pdf[$p] /tmp/page.png
H=$(gm identify /tmp/page.png -format "%h")
gm convert page.png -background white -extent 2000x$H auf.png
}
这是我managed/tried要做的事情:
- 在 Windows 10 上安装 Ubuntu
- 使用终端导航到我的目录(其中包括代码片段的 .sh 和我的 file.pdf)
- 我可以调用一个脚本:我创建了一个 hello.sh 回显 "hello world"(我用“来源 hello.sh”调用它)
- 我可以调用一个脚本,其中包含一个带参数的函数:我创建了一个 add.sh(来自 youtube-video),但我还没有设法从 "outside of the script" 调用一个函数,即save/activate终端内的函数。
- 我安装了graphicsmagick,调用了一个线,我可以"gm convert -trim -density 300x300 file.pdf[$p] /tmp/page.png"手动。
- 我进一步注意到,在 Windows 文本编辑器中编辑 shell 脚本存在一些问题,因此我在终端中使用了 "nano"。
当我尝试时
source exam.sh
它returns"syntax error near unexpected token "
看来 page 是我必须给函数的唯一参数。
ex 1
这也不行。
我很感激关于我必须在脚本中包含什么的任何建议(也许指定某种 shell?),我必须在终端中写什么(chmod + x?)为了告诉我的函数存在的终端以及如何执行函数或为函数提供参数以便最终获得一些 png。
更新
这里有一张图片来说明。我需要裁剪空白 A4 页面上给出的任何 text/formula。最终裁剪应为 2000 像素宽。有相对高度,取决于"long" text/formula/图片如何。
你应该能够像这样一次完成所有操作,无需 Ubuntu 或 shell 脚本,只需在 命令提示符 :
gm convert -density 300x300 file.pdf[0] -trim -background white -extent 2000x auf.png
您可以创建一个名为 EXTRACT.BAT
的批处理文件,如下所示:
gm convert -density 300x300 %1[%2] -trim -background white -extent 2000x auf.png
那么你应该可以做到:
EXTRACT FILE.PDF 2
提取 FILE.PDF