![重新缩放 PDF 文件](https://linux22.com/image/1254511/%E9%87%8D%E6%96%B0%E7%BC%A9%E6%94%BE%20PDF%20%E6%96%87%E4%BB%B6.png)
我有一堆 PDF 文件,我一直用它们来制作 PNG 文件,宽度为 320 像素。我的做法是在 LaTex 中创建宽度为 4.44444 英寸的 PDF,然后在 Zamzar 上转换为 PNG。
我想知道是否有办法使用我的 LaTex 文件制作宽度为 640 像素的双倍比例 PNG。PNG 应该与以前相同,但适当放大(即不仅仅是将每个像素变成 4 个相同的像素)。
有什么办法可以做到这一点?
谢谢
答案1
为什么不直接使用 LaTeX 创建更大的 PDF 文件呢?您可以使用几何学包中设置页面大小,然后使用 \scalebox 或 \resizebox图形包可将文档的任何部分缩放到您想要的大小。(如果里面的所有内容都是文本或矢量图形,那么它将是良好的拉伸,而不是像素重复:如果里面的内容包含光栅图形,则无论如何您都无能为力。)
最后,如果您已经制作了 PDF 并想缩放 PDF,可以使用pdf页面包。例如:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,scale=2,fitpaper]{myold.pdf}
\end{document}
用 pdflatex 编译。
您还可以使用绝对高度和宽度来代替比例。有关更多信息,请参阅上面链接的软件包文档。
你为什么要使用 Zamzar?如果你使用 LaTeX,你肯定安装了 dvipng,它可以将普通 LaTeX 创建的 dvi 转换为 PNG。你几乎可以确定安装了 ghostscript,它可以将 PDF 或 PS 转换为 PNG 或各种其他格式。(如果你告诉我你使用的是什么操作系统,我会告诉你要使用哪个 ghostscript 命令。)你可能还安装了 ImageMagick,它可以做更多的事情。还有大量其他免费软件可以使用,其中一些可以为你处理缩放。例如,你可以使用GIMP如果您想要一个图形界面来执行此操作。
答案2
您可以使用 Ghostscript 重新缩放 PDF 页面。这是我昨天用来将 A4 大小的 PDF 缩放到 A6 大小的方法,同时仅选择第 22-27 页作为输出:
gswin32c.exe ^
-o A6-output.pdf ^
-sDEVICE=pdfwrite ^
-dPDFFitPage ^
-g2975x4210 ^
-dFirstPage=22 ^
-dLastPage=27 ^
-dPDFSETTINGS=/prepress ^
c:/path/to/input.pdf
以上命令示例适用于 Windows。在 Linux 上,只需将 .exe 替换为gs
,将 替换^
为\
。
-g2975x4210
给出输出大小(以像素为单位)。要理解该值,您需要知道我的输入 A4 尺寸为 595 x 842,我想要的 A6 纸张尺寸为 297.5 x 421点。
A观点是测量 PostScript 或 PDF 尺寸的单位。1 英寸等于 72 点。Ghostscript 的输出设备默认使用 720 dpi(每英寸点数)分辨率。因此,我的“有趣”页面大小为-g2975x4210
。
要直接转换为 PNG,我应该使用:
gswin32c.exe ^
-o input_page_%03d_A6.png ^
-sDEVICE=pngalpha ^
-dPDFFitPage ^
-g297x421 ^
-dFirstPage=22 ^
-dLastPage=27 ^
c:/path/to/input.pdf
这样每个 PDF 页就会有一个 PNG 文件。
请注意,我需要更改参数,-g
因为 Ghostscript 的图像输出设备的默认分辨率是 72dpi。当然,我可以通过指定分辨率来更改它,比如说-r200x200
,但这样我就必须重新计算该-r...
值。而我实在是太懒了……