【问题标题】:pdfgetpage MediaBox mixes up width and heightpdfgetpage MediaBox 混合了宽度和高度
【发布时间】:2020-07-30 21:59:01
【问题描述】:

当我在命令下运行时

gs -dNODISPLAY -dBATCH -dQUIET -dNOSAFER -sFileName=${filename} \
  -c "FileName (r) file runpdfbegin 1 1 pdfpagecount {pdfgetpage /MediaBox get {=print ( ) print} forall (\\n) print} for quit"

我得到宽度的高度和高度的宽度。我得到以下输出:

0.0 0.0 4272.0 2848.0
0.0 0.0 4272.0 2848.0
0.0 0.0 4272.0 2848.0
0.0 0.0 4272.0 2848.0
0.0 0.0 4272.0 2848.0
0.0 0.0 4272.0 2848.0

其中 4272.0 是 pdf 的高度,但它显示为宽度。对于其他 pdf,它按预期工作。这个pdf是否以某种方式旋转?如何检测和修复它?

编辑:我还发现 pdfinfo 显示此 pdf 中的每一页都旋转了 90 度。

【问题讨论】:

    标签: ghostscript postscript


    【解决方案1】:

    您可能还需要 Page 字典中的 /Rotate 值。修改你的例子:

    "FileName (r) file runpdfbegin 1 1 pdfpagecount {pdfgetpage dup /MediaBox get {=print () print} forall dup /Rotate known { /Rotate get (Rotate: ) print =print } { pop } ifelse (\n ) print} 退出”

    另请注意,对于 Ghostscript,超过 9.50 SAFER 是默认设置,因此您可能需要在命令行中为文件使用“--permit-file-read=___”选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 2016-08-16
      • 2019-12-29
      相关资源
      最近更新 更多