Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.17;
Скачать: CL | DM;

Вниз

печать в виндовс ХП   Найти похожие ветки 

 
vaz_mz ©   (2011-01-07 10:49) [0]

Дело в том, что для Windows все принтеры - страничные. А у меня стоит задача обеспечить печать 10 метровых непрерывных(без разрывов) графиков.

из под доса, на старом программном обеспечении, на матричных эпсонах  - все печатется прекрасно. и пользователю не обьяснишь что в Windows XP ВСЕ ПРИНТЕРЫ - страничные.

и даже если создашь свой формат бумаги в диспетчере печати - тот же эпсон этот типоразмер бумаги не увидит т.к. он превышает зашитые в фирменном драйвере ограничения на длинну листа.

может уже кто бодался с этой проблемой?


 
CrytoGen   (2011-01-07 10:58) [1]

Попробуйте напрямую посылать команды принтеру, те же что из под доса слали. примерно так :
procedure WriteRawStringToPrinter(PrinterName,Title:String; S:String);
var
 Handle : THandle;
 N      : DWORD;
begin
 Handle:=PrepareWriteToPrinter(PrinterName,Title);
 if Handle<>0 then
 begin

    while Length(s)>0 do
    begin
      if Length(s)>200 then
      begin
        WritePrinter(Handle, PChar(Copy(S,1,200)), 200, N);
        Delete(s,1,200);
      end
      else
      begin
        WritePrinter(Handle, PChar(S), Length(S), N);
        s:="";
      end;
    end;

   FinishWriteToPrinter(Handle);
 end;  
end;


PCL таким образом вполне себе отправлялся. Написано чуть кривовато, но коли будет нужда, думаю исправите.


 
vaz_mz ©   (2011-01-07 11:08) [2]

Спасибо попробую!

маленькое дополнение. считаем что LPT порт ушел в небытие вместе с досом:-) и это факт кстати. ноутбуков у нас с ЛПТ уже не найти новых:-)

и еще как этим методом отправить на печать битмап?


 
Anatoly Podgoretsky ©   (2011-01-07 11:12) [3]

У Эпсона нет ограничение, если специально не включать деление на листы и пропуск для обрезки.

В Виндоус все принтеры также рулонные, а деление на страницы это функции спуллера, так что если печатать мимо спуллера, то и страниц не будет.


 
Anatoly Podgoretsky ©   (2011-01-07 11:14) [4]


> vaz_mz ©   (07.01.11 11:08) [2]

Совсем ни к чему печатать в порт, достаточно печатать на физическое устройства, как файл.


 
vaz_mz ©   (2011-01-07 11:18) [5]


> У Эпсона нет ограничение, если специально не включать деление
> на листы и пропуск для обрезки.

1. каким образом я это ключаю?
2. ИМХО - нет, я ходил с этим на фирменный сайт эпсона. там четко написано если размеры больше зашитых в ДРАЙВЕРЕ - то принтерс ними работать не будет.

если Вас незатруднит, приведите пример: каким образом печатать мимо спулера, используя стандартный класс Tprinter?

причем чтобы печатать на любых принтерах, а не на каком то одном определенном?


 
Anatoly Podgoretsky ©   (2011-01-07 11:46) [6]

> vaz_mz  (07.01.2011 11:18:05)  [5]

Печатай в текстовый файл.


 
vaz_mz ©   (2011-01-07 12:21) [7]


> Печатай в текстовый файл.


битмап? на любой принтер?


 
Anatoly Podgoretsky ©   (2011-01-07 12:34) [8]

> vaz_mz  (07.01.2011 12:21:07)  [7]

Для печати битмапов нужно знать систему команд.
Только вот откуда вдруг взялся битмап, на седьмом шаге обсуждения.
Тогда будь добр огласи весь список.


 
Anatoly Podgoretsky ©   (2011-01-07 12:36) [9]

Хотя если умели печатать из под доса, то в чем проблема из под Виндоус, посылайте теже команды в принтер.


 
vaz_mz ©   (2011-01-07 12:52) [10]

Удалено модератором
Примечание: Обсуждение модерирования


 
vaz_mz ©   (2011-01-07 13:47) [11]

повторюсь раз затерли:


> Для печати битмапов нужно знать систему команд.
> Только вот откуда вдруг взялся битмап, на седьмом шаге обсуждения.
>
> Тогда будь добр огласи весь список.


_изначально_ и вопрос был задан про возможность непрерывной печати графиков работая через стандартные средства доступные в windows xp.


> Хотя если умели печатать из под доса, то в чем проблема
> из под Виндоус, посылайте теже команды в принтер.


1. отсутсвуют исходники.
2.  там реализована печать только на матричные эпсоны подключенные к ЛПТ. а это частный случай. мне нужно решение работающее на любом принтере который подключен с помощью драйверов производителя к компьютеру под управлением Windows XP.

сформулирую задачу по другому мож так понятней:
проблема в том что нужно обеспечить приложению возможность рулонной, непрерывной печати графиков на любом принтере подключенному к Windows XP.


 
vaz_mz ©   (2011-01-07 13:52) [12]

Удалено модератором
Примечание: Обсуждение модерирования



Страницы: 1 вся ветка

Текущий архив: 2011.04.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.008 c
15-1293842666
NailMan
2011-01-01 03:44
2011.04.17
автозапуск utorrent на win2008. нет оболочки


1-1249673444
Sasha_234
2009-08-07 23:30
2011.04.17
Часть длины отрезка


2-1295283900
FIL23
2011-01-17 20:05
2011.04.17
Одна переменная на две формы


15-1294155528
Sidak
2011-01-04 18:38
2011.04.17
Выпускная работа


15-1294090199
Юрий
2011-01-04 00:29
2011.04.17
С днем рождения ! 4 января 2011 вторник