Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.04.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.012 c
15-1294262997
Юрий
2011-01-06 00:29
2011.04.17
С днем рождения ! 6 января 2011 четверг


15-1293831003
Юрий
2011-01-01 00:30
2011.04.17
С днем рождения ! 1 января 2011 суббота


2-1295200193
izja
2011-01-16 20:49
2011.04.17
idHttp 403


15-1293571785
Юрий
2010-12-29 00:29
2011.04.17
С днем рождения ! 29 декабря 2010 среда


2-1295328781
начинающий2
2011-01-18 08:33
2011.04.17
Два потока и общая процедура





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский