Координаты PDF-блока относительны или абсолютны? - PullRequest
0 голосов
/ 18 февраля 2010

Я хочу программно редактировать PDF, используя pyPDF. В настоящее время я пытаюсь интерпретировать различные размеры PDF-блоков (TrimBox, MediaBox и т. Д.). Каждый блок имеет четыре измерения, хранящиеся в виде четырех кортежей, например ::1001

TrimBox:           56.69    56.69  1040.31   751.18

Согласно спецификации PDF, они должны описывать прямоугольник и, конечно, (56.69, 56.69) определяют левый верхний угол этого прямоугольника. Однако следует ли интерпретировать (1040.31, 751.18) как нижний правый угол этого прямоугольника или как вектор относительно верхнего левого угла?

По-видимому, ответ так хорошо известен среди наборщиков, что я не смог найти его в явном виде, где бы я ни смотрел.

Ответы [ 2 ]

3 голосов
/ 22 октября 2010

Даниэль, поскольку нижний левый угол является источником системы координат, обработка (x1, y1, x2, y2) как (x, y, w, h) работает, пока нижний левый угол TrimBox находитсяисточник (то есть, когда (x1, y1) = (0,0)).

Кстати, потребовалась некоторая охота, чтобы обнаружить, что используемые единицы измерения - это баллы, что неясно, как я мог найти, в документе спецификаций PDF.Ясно, что это не было написано физиком.http://en.wikipedia.org/wiki/Point_(typography)

0 голосов
/ 24 февраля 2010

После некоторой дополнительной обработки я действительно нашел два ответа на мой вопрос. Что касается источников pyPDF, четыре прямоугольных координаты следует читать как (x1, y1, x2, y2), где первые два представляют нижний левый угол, а последние два представляют верхний правый угол.

Однако рисование внутри TrimBox в PDF работало очень хорошо, когда я интерпретировал координаты как (x, y, w, h), где (x, y) - верхний левый угол и (w, h) - ширина и высота. прямоугольника, который исходит оттуда.

Итак, я мог неправильно понять первое толкование, но, по крайней мере, второе работает на меня.

...