- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 GS 从 pdf 文件生成缩略图。
我使用以下命令:
gswin32 -dPDFFitPage -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT
-dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0
-dDEVICEWIDTH=90 -dDEVICEHEIGHT=120 -dORIENT1=true
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4
-sOutputFile=output.%d.jpg input.pdf
结果:
如果我使用一些带有纵向页面的PDF like this example ,你可以下载,然后缩略图是正确的,正如你在这里看到的:
如果我用它for a PDF对于横向页面,设备宽度以某种方式被视为高度:
如何防止这种行为?我也希望我的保时捷是 90x120。我想也许我需要为 Ghostscript 提供一些 Postscript 代码(使用 -c 命令行参数),但我没有这方面的经验。有人可以帮助我吗?
编辑 1:我尝试了 suggestion of KenS .使用 -dFIXEDMEDIA,我的保时捷被裁剪,如下所示:
编辑 2: first solution of Kurt Pfeifle is not可以用于肖像图像(白色部分右侧,未正确使用空间)。见下文:
编辑 3: third solution of Kurt Pfeifle差不多好了。对于风景图像,它是完美的:
但是,纵向页面存在尺寸问题,背景也变得完全灰色:
所以 Kurt,我认为我可以将 pdf 分成几页(使用 GS -dFirstPage 和 -dLastPage),然后如果您有一些想法,如何确定一个页面是否是风景或肖像,然后我可以做一些条件处理。任何想法?至于背景颜色,我觉得不是那么重要,如果你也有这里的想法,欢迎提出。
最佳答案
好的,现在根据上面提到的“首先处理 PDF(以便它使用纵向媒体格式来显示其横向图像内容)”的想法,尝试一个更详细的答案...
请注意,由于您的原始 PDF 并未对所有页面使用通用大小(它们都不同),因此我仅对第一页进行了概念验证。
我为此使用 pdftk
:
porsches.pdf cat 1 output porsche-page1.pdf
为此,我正在使用 Ghostscript 加上 -c ...
PostScript 命令行片段:
gs \
-o porsche-page1-on-portrait-medium.pdf \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
-g1920x2560 \
-r72 \
-c "<</PageOffset [0 560]>> setpagedevice" \
-f porsche-page1.pdf
/PageOffset
值源 self 在原始页面高度 1440 点基础上增加了 1120 点这一事实。因此,我将内容向上移动了一半的值,因此图片再次居中。
gs \
-sOutputFile=proofofconcept-thumb_%03d.jpg \
-dPDFFitPage \
-dDEVICEWIDTH=90 \
-dDEVICEHEIGHT=120 \
-sDEVICE=jpeg \
porsche-page1-on-portrait-medium.pdf
除非我没有完全误解您的意图:这应该是您想要的结果。 (注意:我在缩略图上添加了一个黑框,以使其真实尺寸即使在 Stackoverflow 的白色 HTML 背景上也可见。)
关于pdf - 使用 Ghostscript 生成缩略图可旋转横向 pdf 页面的设备大小定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326318/
我是一名优秀的程序员,十分优秀!