Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2752
Рейтинг: 359
#31: 2009-01-06 12:04:51 ЛС | профиль | цитата
формат Adobe Postscript как язык управления устройствами вывода для технологии WYSIWYG.

Вот так понятнее
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Ответов: 1891
Рейтинг: 110
#32: 2009-01-07 01:20:05 ЛС | профиль | цитата
Dilma, а когда в живую можно будет посмотреть на предлагаемую технологию печати?
карма: 0
%time%
0
Администрация
Ответов: 15273
Рейтинг: 1501
#33: 2009-01-08 01:21:08 ЛС | профиль | цитата
по HiUpdate и SVN доступна некая промежуточная demo версия описанного подхода с одним элементом шаблона печати - текстовым полем. Пример для проверки:
code_11272.txt

здесь DocumentTemplate это контейнер, который содержит расположение текстовых полей на странице документа. Пока никакие более элементы нельзя вставлять внутрь него.

Миллиметровые линейки по краям листа не влияют ни на что и пока служат только для получения представления о реальных размерах формата A4 и расположение элементов на нем. Из возможных форматов в demo версии поддерживается только A4(однако печать тем не менее можно производить на любом формате).



так же хотелось бы узнать насколько близко(и на каких принтерах) координаты надписей в программе соответсвуют координатам на листе после печати
карма: 23
0
файлы: 2hiasm_print2.png [9.4KB] [159], code_11272.txt [2.2KB] [221]
Главный модератор
Ответов: 2752
Рейтинг: 359
#34: 2009-01-08 12:28:56 ЛС | профиль | цитата
b172 + b173 сверху, SVN, hiUpdate, make.bat из Delphi и Delphimake.

- компилируется, но не запускается
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
файлы: 1test_print.rar [34.4KB] [150]
Разработчик
Ответов: 25489
Рейтинг: 2072
#35: 2009-01-08 12:34:20 ЛС | профиль | цитата
Nic писал(а):
- компилируется, но не запускается

Та же песня, пока все модули печати не потер. Если DocumentTemplate удалить первым, то вообще RunTime выскакивает
карма: 19

0
Администрация
Ответов: 15273
Рейтинг: 1501
#36: 2009-01-08 19:52:01 ЛС | профиль | цитата
не закоммитил CGTShare.pas, из-за которого вообще говоря CodeGen.dpr собираться не должен был
карма: 23
0
Ответов: 1891
Рейтинг: 110
#37: 2009-01-09 01:07:46 ЛС | профиль | цитата
Dilma, писал(а):
по HiUpdate и SVN доступна некая промежуточная demo версия описанного подхода с одним элементом шаблона печати - текстовым полем


Dilma, а вообще какие поля будут и будет ли возможность загружать шаблоны из внешнего файла?
карма: 0
%time%
0
Администрация
Ответов: 15273
Рейтинг: 1501
#38: 2009-01-09 02:08:30 ЛС | профиль | цитата
Alexbootch, об этом написано в этом топике выше по тексту
карма: 23
0
Главный модератор
Ответов: 2752
Рейтинг: 359
#39: 2009-01-09 10:49:36 ЛС | профиль | цитата
Dilma писал(а):
хотелось бы узнать насколько близко(и на каких принтерах) координаты надписей в программе соответсвуют координатам


Apple LaserWriter 12/640 PS: до символа "С" 22 мм слева, 21 мм сверху
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Администрация
Ответов: 15273
Рейтинг: 1501
#40: 2009-01-09 13:40:52 ЛС | профиль | цитата
Nic писал(а):
до символа "С" 22 мм слева, 21 мм сверху

что истине не соответсвует к сожалению. Определенно, что-то было упущено...
карма: 23
0
Главный модератор
Ответов: 2752
Рейтинг: 359
#41: 2009-01-09 14:43:20 ЛС | профиль | цитата
Dilma, посмотри личку.
------------ Дoбавленo:

Как правило, у каждого драйвера принтера, есть настройки по-умолчанию, так вот среди прочих, у некоторых принтеров, есть параметр величины отступа от края бумаги. У моего такого параметра нет, но отступ от края точно имеется. Попробую его определить эскпериментально.
------------ Дoбавленo:

Отступ от края бумаги практически нулевой, но избражение зарезается по 3 мм со всех сторон от обрезного формата.
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Администрация
Ответов: 15273
Рейтинг: 1501
#42: 2009-01-09 20:52:37 ЛС | профиль | цитата
нешел в чем была причина и способ ее устранения. В новых версиях должен выводить один к одному с отображаемым на экране монитора
карма: 23
0
Разработчик
Ответов: 25489
Рейтинг: 2072
#43: 2009-01-09 20:55:06 ЛС | профиль | цитата
Dilma писал(а):
нешел в чем была причина и способ ее устранения

А поделиться
карма: 19

0
Администрация
Ответов: 15273
Рейтинг: 1501
#44: 2009-01-09 20:59:10 ЛС | профиль | цитата
причина была в том, что даже если принтер умеет печатать без полей(у меня скажем именно такой и стоит), то по-умолчанию он все равно имеет эти поля и умышленно вырезает все то, что выходит за их пределы(нафига это сделано я до сих пор понять не могу). Величину этих мнимых полей можно узнать по

#pas
GetDeviceCaps(pDC, PHYSICALOFFSETX)
GetDeviceCaps(pDC, PHYSICALOFFSETY)
(для простого контекста эти величины всегда равны 0). Ну и для выравнивания смещений печатаемых фигур просто корректируем их координаты

#pas
dec(x1, GetDeviceCaps(pDC, PHYSICALOFFSETX));
dec(y1, GetDeviceCaps(pDC, PHYSICALOFFSETY));
карма: 23
0
Разработчик
Ответов: 25489
Рейтинг: 2072
#45: 2009-01-09 21:03:28 ЛС | профиль | цитата
Опа, а это бы надо ввести и в Draw компоненты
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)