如何查找PDF是横向还是纵向

Posted

技术标签:

【中文标题】如何查找PDF是横向还是纵向【英文标题】:How to find whether PDF has landscape orientation or portrait 【发布时间】:2012-08-16 13:19:57 【问题描述】:

是否有工具可以确定 PDF 是横向还是纵向?

我目前为此查看了 pdfboxItext,但似乎找不到。请告诉他们是否支持。

使用 Origami 提取 PDF 页面信息提供了 pdf 页面具有某种程度的旋转的信息。以下是 Origami 的报道:

:Parent=>#<PDF::Reader::Reference:0x872349c @id=8, @gen=0>, :Type=>:Page, 
 :Contents=>#<PDF::Reader::Reference:0x8722f24 @id=4, @gen=0>, :Resources=># <PDF::Reader::Reference:0x870dbd8 @id=2, @gen=0>, 
:MediaBox=>[0, 0, 612, 792], :Rotate=>270

旋转:270

“旋转”实际上是什么意思?

【问题讨论】:

【参考方案1】:

pdfinfo 命令行实用程序可以让您查看每个页面的页面大小信息和 MediumBox、CropBox、BleedBox、ArtBox 和 TrimBox 值。在这里,我询问特定文档第 2 到 4 页的值:

pdfinfo -box -f 2 -l 4 sample.pdf
  Creator:        FrameMaker 6.0
  Producer:       Acrobat Distiller 5.0.5 (Windows)
  CreationDate:   Thu Aug 17 16:43:06 2006
  ModDate:        Tue Aug 22 12:20:24 2006
  Tagged:         no
  Form:           AcroForm
  Pages:          146
  Encrypted:      no
  Page    2 size: 419.535 x 297.644 pts
  Page    2 rot:  90
  Page    3 size: 297.646 x 419.524 pts
  Page    3 rot:  0
  Page    4 size: 297.646 x 419.524 pts
  Page    4 rot:  0
  Page    2 MediaBox:     0.00     0.00   595.00   842.00
  Page    2 CropBox:     87.25   430.36   506.79   728.00
  Page    2 BleedBox:    87.25   430.36   506.79   728.00
  Page    2 TrimBox:     87.25   430.36   506.79   728.00
  Page    2 ArtBox:      87.25   430.36   506.79   728.00
  Page    3 MediaBox:     0.00     0.00   595.00   842.00
  Page    3 CropBox:    148.17   210.76   445.81   630.28
  Page    3 BleedBox:   148.17   210.76   445.81   630.28
  Page    3 TrimBox:    148.17   210.76   445.81   630.28
  Page    3 ArtBox:     148.17   210.76   445.81   630.28
  Page    4 MediaBox:     0.00     0.00   595.00   842.00
  Page    4 CropBox:    148.17   210.76   445.81   630.28
  Page    4 BleedBox:   148.17   210.76   445.81   630.28
  Page    4 TrimBox:    148.17   210.76   445.81   630.28
  Page    4 ArtBox:     148.17   210.76   445.81   630.28
  Page    4 MediaBox:     0.00     0.00   595.00   842.00
  File size:      6888764 bytes
  Optimized:      yes
  PDF version:    1.4

注意以下几点:

*Box值:这是4个数字,单位为PostScript点:第一对代表左下角坐标,第二对代表右上角坐标。

李>

MediaBox:对于 PDF 中的每个页面,必需设置。

TrimBox:是一个可选设置,如果没有明确定义,则默认与 MediaBox 相同。如果它偏离 MediaBox,那么它会告诉 PDF 查看器(和打印机驱动程序)只呈现和显示整页的特定部分。

Page size:此信息是根据 TrimBox 值设置的距离派生 + 计算得出的。

rot:这给出了页面旋转的值。可能是090180270 度数。

现在,页面的 landscapeportrait 定义如下:

如果宽度大于高度,则视为“风景”。 如果高度大于宽度,则视为“纵向”。 未确定宽度和高度是否具有相同的值。

但是!,....

1234563显示为“风景”,反之亦然;

...您可以定义一个“风景”形状的“/TrimBoxinside a 'portrait' shaped/MediaBox”,反之亦然,并将其与非零旋转混合,从而实现“风景” ' 形状的内容将以“纵向”(或倒置)的形式出现...

对此感到困惑?别担心,很多都是。事实是,“风景”和“肖像”并不是明确定义的技术术语。它们只是描述我们所见事物的约定......

【讨论】:

哇,这信息量很大。 Trim Box 与 Media Box 相同。如果设置了修剪框,它将仅显示为不知道的特定部分 只有一件事,非零的旋转角度将始终将纵向视图转换为陆地空间,反之亦然,或者值是否重要。意思是 270 会将纵向转换为横向,但不是 180 只会以正常方式显示内容,但相反的顺序是正确的 @user1438735: /Rotation 180 导致颠倒方向。 /Rotation 90 顺时针旋转 90 度。 /Rotation 270 顺时针旋转 270 度(与逆时针旋转 90 度相同)。 对不起,我刚刚做了。所以旋转 270 和旋转 90 会将纵向 pdf 显示为横向,反之亦然是正确的 @user1438735:没错(但请注意,如果您比较两个“景观”,一个与另一个相比是颠倒的......

以上是关于如何查找PDF是横向还是纵向的主要内容,如果未能解决你的问题,请参考以下文章

使用 ALAssetLibrary 快速了解图像资产是横向还是纵向?

当 iphone 设备方向朝上/朝下时,我可以判断它是横向还是纵向?

UIDeviceOrientationFaceUp - 如何区分纵向和横向?

如何将页面旋转为横向,页面内容应为纵向 iTextpdf

同一pdf中的横向和纵向

oracle中如何把横向表变为纵向表 函数是啥