Вопрос по pdf-generation, itext, pdf, pdfbox – Как узнать, имеет ли PDF альбомную ориентацию или портрет

4

Существуют ли инструменты для определения того, имеет ли PDF альбомную или книжную ориентацию?

Я в настоящее время смотрел наpdfbox а такжеItext для этого, но кажется, что я не мог его найти. Пожалуйста, скажите, поддерживают ли они это.

Извлечение информации PDF страниц с использованиемOrigami предоставляет информацию о том, что страницы PDF имеют некоторую степень ротации. Вот что сообщает Оригами:

{: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}

Rotate : 270

Что означает «вращение»? на самом деле значит?

Ваш Ответ

1   ответ
11

pdfinfo Утилита командной строки позволяет отображать информацию о размере страницы и значения MediumBox, CropBox, BleedBox, ArtBox и TrimBox для каждой страницы. Здесь я спрашиваю о значениях для страниц 2-4 конкретного документа:

  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 values: these are 4 numbers whose units are PostScript points: the first pair represents the coordinates of the lower left corner, the second pair represents coordinates of the upper right corner.

MediaBox: Is a required setting for each page inside the PDF.

TrimBox: Is an optional setting and defaults to the same as MediaBox if it is not explicitly defined. If it deviates from the MediaBox, then it tells PDF viewers (and printer drivers) to only render and display that particular part of the full page.

Page size: This info is derived + computed from the distances that are set up by the TrimBox value.

rot: This gives the value of the page rotation. May be 0, 90, 180 or 270 degrees.

Теперь страницыlandscape а такжеportrait Определения таковы:

It is regarded as 'landscape' if the width is greater than the height. It is regarded as 'portrait' if the height is greater than the width. It is undetermined if width and height have the same value.

But!,....

...you can put a non-zero /Rotation value into your PDF source code (which pdfinfo will show as rot: info) and achieve this way that a 'portrait' PDF page will display as 'landscape' and vice-versa;

...you could define a 'landscape' shaped '/TrimBoxinside a 'portrait' shaped/MediaBox` or vice versa, as well as mix it with a non-zero rotation, and achieve this way that the 'landscape' shaped content will appear in 'portrait' (or upside-down) look...

Смущены этим? Не волнуйтесь, многие. Факт есть, «ландшафт» и «портрет» не являются четко и однозначно определенными техническими терминами. Они просто условности, чтобы описать то, что мы видим ...

@ user1438735: это правильно (но учтите, что если сравнивать 2 пейзажа, то один перевернут по сравнению с другим ...
извини за то, что я только что сделал таким образом, поворот 270 и поворот 90 будут отображать портрет в формате pdf в виде пейзажа, и наоборот, это правильно Ratatouille
@ User1438735:/Rotation 180 приводит к перевернутой ориентации./Rotation 90 по часовой стрелке на 90 градусов./Rotation 270 по часовой стрелке на 270 градусов (так же, как против часовой стрелки на 90 градусов).
Одно дело, что угол поворота с ненулевым значением всегда преобразует портретное представление в пространство и наоборот, или значение имеет значение. Это означает, что 270 будет преобразовывать портрет в альбомную ориентацию, но не 180 будет просто показывать содержимое обычным способом, но в обратном порядке это правильно Ratatouille
Вау, это было довольно информативно. Trim Box будет таким же, как Media Box. если установлен блок обрезки, он будет отображаться как только тот конкретный раздел, о котором он не знал Ratatouille

Похожие вопросы