使用 Ghost Script 将 PDF 转换为 PNG - 裁剪到页面的前三分之一
PDF to PNG using Ghost Script - crop to top third of page
我正在尝试将 PDF 文件转换为图像,并在此过程中裁剪到第一页顶部的前三分之一(大约)。
如果我将值变小,此命令会给我整个页面并更改 -g 选项向左下角裁剪。
for %%x in (*) do "......\program\gs\gs9.23\bin\gswin32c.exe" -g2500x3300 -dFIXEDMEDIA -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT= 2 -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300x300 -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -SOutputFile="%%~nx.png" "%%~nx.pdf"
我想要较小的图像,这样图像上的 OCR 会更快,而且我正在处理的大多数 letters/docs 的信息都排在前三分之一。
PostScript 页面(和 PDF 页面)的原点 (0, 0) 在左下方。因此,通过减小媒体大小,您可以使内容的最上面部分远离媒体,因此不会呈现。
所以您需要做的是减小媒体的大小(您已完成)**并*翻译原点,以便内容的顶部位于媒体上。
尝试在输入的PDF文件前加上-c "<< /BeginPage {-300 0 translate} >> setpagedevice" -f。这应该将原点转换为 300 dpi 下媒体底部下方 1 英寸,这应该使页面顶部多 1 英寸,页面底部少 1 英寸。
显然因为我不知道你的内容有多大,所以我不能给你一个准确的答案。
我正在尝试将 PDF 文件转换为图像,并在此过程中裁剪到第一页顶部的前三分之一(大约)。
如果我将值变小,此命令会给我整个页面并更改 -g 选项向左下角裁剪。
for %%x in (*) do "......\program\gs\gs9.23\bin\gswin32c.exe" -g2500x3300 -dFIXEDMEDIA -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT= 2 -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300x300 -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -SOutputFile="%%~nx.png" "%%~nx.pdf"
我想要较小的图像,这样图像上的 OCR 会更快,而且我正在处理的大多数 letters/docs 的信息都排在前三分之一。
PostScript 页面(和 PDF 页面)的原点 (0, 0) 在左下方。因此,通过减小媒体大小,您可以使内容的最上面部分远离媒体,因此不会呈现。
所以您需要做的是减小媒体的大小(您已完成)**并*翻译原点,以便内容的顶部位于媒体上。
尝试在输入的PDF文件前加上-c "<< /BeginPage {-300 0 translate} >> setpagedevice" -f。这应该将原点转换为 300 dpi 下媒体底部下方 1 英寸,这应该使页面顶部多 1 英寸,页面底部少 1 英寸。
显然因为我不知道你的内容有多大,所以我不能给你一个准确的答案。