如何查找PDF是横向还是纵向
Posted
技术标签:
【中文标题】如何查找PDF是横向还是纵向【英文标题】:How to find whether PDF has landscape orientation or portrait 【发布时间】:2012-08-16 13:19:57 【问题描述】:是否有工具可以确定 PDF 是横向还是纵向?
我目前为此查看了 pdfbox 和 Itext,但似乎找不到。请告诉他们是否支持。
使用 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
:这给出了页面旋转的值。可能是0
、90
、180
或270
度数。
现在,页面的 landscape 和 portrait 定义如下:
如果宽度大于高度,则视为“风景”。 如果高度大于宽度,则视为“纵向”。 未确定宽度和高度是否具有相同的值。但是!,....
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 设备方向朝上/朝下时,我可以判断它是横向还是纵向?