LINUX.ORG.RU

уменьшить поля при печати


0

0

Печатаю jpg из консоли (lp ....), при этом принтер добавляет поля определенные в своем файле /etc/cups/ppd/*.ppd. С другой стороны - если печатаю из openOffice, то можно выставить нулевые поля и принтер попытается по максимуму использовать пространство страницы, даже за пределами определенный полей в *.ppd.

Хочется печатать jpg из консоли (с минимальными полями), например разобравшись в структуре ppd файла (нужна документация) или поняв как печатает openOffice (исходники не осилю).
Или другие предложения по печати jpg с минимальными полями.

Принтер: hp6943
hplip использовать нежелательно (на нужной машине его нет, поставить проблема. но если других путей нет, а этот(hplip) работает - буду ставить)

★★★★★

Курить man lp на тему ключа -o

cathode
()
Ответ на: комментарий от Lok

курил, вот что накурил:
"Sets the page margins when printing __text__ files"

и проверял - к jpg это не относится
хочу вкурить "man" по структуре ppd файла - где взять?

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

Незнаю почему у тебя не относится, у меня jpeg нормально печатает, по максимуму 4 мм от краев, если не выставлять -o page то интервал где-то по 12 мм от края листа ставится.

Lok
()
Ответ на: комментарий от Lok

хм, перепроверил - да поля работают, но както странно
итак что делал:
сделал рисунок 585x833 пикселов, по контуру обвел ширинуй 3 пиксала (внутрь)
печатаю:
lp -o page-bottom=0 -o page-top=0 -o page-left=0 -o page-right=0 -o scaling=99 -o fitplot 585x833.jpg
и ничего невижу - прямоугольник ушел за границу т.к. если увеличить page-top=10, то верхняя, левая и правая линии обводки появляется

посмотрев внутрь ppd файла нашел там такие описания формата A4:
*PageSize A4/A4: "%% FoomaticRIPOptionSetting: PageSize=A4"
*FoomaticRIPOptionSetting PageSize=A4: " -dDEVICEWIDTHPOINTS=595 -dDEV&&
ICEHEIGHTPOINTS=842"
...
*ImageableArea A4/A4: "9.72 36 585.28 833"
...
*PaperDimension A4/A4: "595 842"
...

(потому и нарисовал прямоугольник 585x833)
полагаю что размер листа = 595х842, а вот с областью печати непонятно т.к.:
9.72 - это думается отступ слева, и 9.72 + 585.28 = 595 (ок), но 36 + 833 != 842 (!!!)
чтоже тогда означает 36 ?

еще заглянул в /var/log/cups/error_log и увидел:
Unknown boolean option "fitplot"
к чему бы это?

cups-1.2.12-22 (opensuse 10.3)

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

Насчет ppd ничего не скажу, а насчет lp вот что: нужно узнать минимальные диапазоны принтера в характеристике, и выставить их, т.к. когда по нулям стоят границы, lp растягивает изображение до краев листа, но т.к. принтер не способен пропечать их, соответственно границы не печатаются.
Можно в том же опеноффисе выставить границы страницы по нулям, а там он сам минимальные проставит и соответственно эти границы в lp прописать.

Lok
()
Ответ на: комментарий от Lok

oo предложил так:
слева 0,35 см
справа 0,35 см
сверху 0,32 см
снизу 1,27 см

все удовлетворяет кроме низа
непонятно откуда он это взял что слева и сверху одинаково, ведь по ppd так не получается (потому и ищу доку по ppd)
также снизу очень много, а ведь принтер может меньше - до 4-5 милиметров
это легко проверить если сказать чтобы OO использовал нелевые размеры, тогда он по максимуму заполнит все поле (проверял печатая таблицу). но опятьже чтото режется по краям

еще хотел такую опцию, как растягивание jpg во всю область печати _непропорционально_. ненашел такой опции у lp. иногда вывает удобно

как решение пока вижу - разобратся как lp взаимодействует с cups, самому вызвать gs и отрендерить страницу. но пока это сложно, нужно время или другой путь

x905 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.