首页 > 解决方案 > 如何使用 graphicsmagick 运行/调用 shell 脚本函数

问题描述

我有一个 LaTeX 数学任务的 pdf,我想使用 graphicsmagick 将其转换为 png。我尝试了很多在线转换器和类似的工具,没有一个对我有用。我在我的 pdf 文档的单页上有单独的任务。一位同事建议使用 graphicsmagick。他还提供了一个代码片段,我原则上可以理解。一切都在一个 shell 脚本中,到目前为止我从未使用过。

我的问题是:如何使用/执行/调用给定的代码片段?

这就是我得到的(我将它作为exam.sh 保存在我的工作目录中):

function ex {
p=$1
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
}

这是我管理/尝试做的事情:

当我尝试

source exam.sh

它返回“意外标记附近的语法错误”

似乎 page 是我必须为该函数提供的唯一参数。

ex 1 

这也不起作用。

我很感激关于我必须在脚本中包含什么(也许指定某种 shell?),我必须在终端中写什么(chmod + x?)以告诉终端我的函数存在以及如何执行的任何建议函数或为函数提供参数,以便最终获得一些 png。

更新

这是一张用于说明的图片。我需要裁剪在其他空白 A4 页面上给出的任何文本/公式。最终裁剪应为 2000 像素宽。相对高度,取决于“长”文本/公式/图片的长度。

在此处输入图像描述

标签: shellshgraphicsmagick

解决方案


您应该可以像这样在没有 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

提取第 3 页(因为第一页是第 0 页)的FILE.PDF


推荐阅读