Вход | Регистрация

1С:Предприятие ::

Метки:

ПечатьНаМатричномПринтере

Я
   Sh_s
 
24.12.03 - 02:07
Есть такая ПроцеДура в глобальном:

ПечатьНаМатричномПринтере(Табл, Ширина) Экспорт
    ЧислоСтрок=0;
     ФайлДляПечати=СоздатьОбъект("Текст");
……….
……….
……….
       
В документе реализую так:

//*********************************************************************************    
Таб=СоздатьОбъект("Таблица");
    Если НаМатричномПринтере=1 Тогда
        Таб.ИсходнаяТаблица("Таблица");
        Таб.ТолькоПросмотр(1);
        Таб.Вывести();
        Таб.Показать("Таблица",""); 
        
        ШиринаСтолбцовТаблицы=СоздатьОбъект("СписокЗначений");
        ШиринаСтолбцовТаблицы.ИзСтрокиСРазделителями("5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,");
        ПечатьНаМатричномПринтере(Таб, ШиринаСтолбцовТаблицы);
//*********************************************************************************    
все Вери гуд, НО КАК  увеличить и уменьшить шрифт ??????
если я правильно понял, то тип шрифта – Elite, задается в ПечатьНаМатричномПринтере(Табл, Ширина) Экспорт. Мож там и размер тиснуть можно!?

А ещё  таблица кривая, типа:

Как надо
|------------|------------|------------|------------|
|                                                                  |
|                                                                  |
|------------|------------|------------|------------|
|                |                |                |                |
|                |                |                |                |
|________|________|________|________|

Как Получается
|------------|------------|------------|------------|
           |                                                                  |
           |                                                                  |
|------------|------------|------------|------------|
      |                |                |                |                |
      |                |                |                |                |
|________|________|________|________|

Помогите исправиться !!!!
 
  Рекламное место пустует
   Vser1
 
1 - 24.12.03 - 02:41
На матричном принторе нельзя использовать символ табуляции!!!!!.Только пробел, он игнорирует данный код.
   Sh_s
 
2 - 24.12.03 - 10:23
Да нет там табуляции все беердся из таблици 1С. Там рамки. Они как-то обрабатываятся и получается (|) но как со сдвигом бороться ?.
Блин в Как надо и то не как надо получилось. Сори.
   gr13
 
3 - 24.12.03 - 10:29
Слушай на ИТС в помощи есть как правильно печатать на матричном принтере. точно не помню, но суть в том, что ты сначала экспортируешь таблицу во временный текстовый файл и печатаешь уже его. Это получается гораздо быстрее, плюс думаю ты знаешь, что есть специальные символы, которые управляют печатью на матричном принтере. Думаю с помощью их можно выставить и размер шрифта. По поводу что это за символы, не спрашивай, сам с ними не работал, но сталкивался с проблемой такой печати на лазерном принтере.
   GrayT
 
4 - 24.12.03 - 10:44
Возможно надо использовать моноширинный шрифт?
   Vser1
 
5 - 24.12.03 - 12:20
(3) Добавление по символам, команды принтера называются ESC-последовательностями, для каждого принтера они могут сильно отличаться. Наиболее известны команды для принтеров фирмы Epson, если у тебя подобный агрегат, проблем быть не должно во всех инструкциях они описаны.
(0)(2)А смыс выделения особых методов печати на матричный принтер? Если он установлен в винде, то проблем быть вобще не должно, работай точно также как и с лазерным и прочим другим принтером, обращайся к нему через винду и таблицы гони графикой, а не псевдосимволами (если я правильно врубился в суть вопроса).
   Sh_s
 
6 - 24.12.03 - 15:29
Для (3) Не нашел в ИТС чето.
(4) Вроде вариант верный. Спасибо.
(5) Структура дока сложная и формат А3 (2 стороны) на печать уходит 10-12 мин. Это 1 док. а за день чем > тем лучше.
(3) Про размер шрифта тоже так думал, поэтому и спросил, может кто сталкивался.
   345
7 - 24.12.03 - 20:08
Пример на ИТС - см т.н. Методическую Конфу...
Esc - смотри в доке на принтер. ими включается размер, межстрочное, выделния и прочая хрень ...

P.S. - попадаются нерусифицированные принтеры (печать из Дос на русском - теперь редко)

М.б. проблема с кодировкой - в принтере прошивается как правило, ДОС кодировка русских.. См кодировку текста ...

Остальное смотри в методичке ....
   Vser1
 
8 - 25.12.03 - 02:33
Если я правильно разглядел рисунок, проблема в том что смешается начальное положение печатающей головки после каждой строки (блока строк).
Вероятные причины данного явления:
1.Предыдущая строка не вошла по количеству символов и часть ее была перенесена на следующую (для проверки, измени тип шрифта на принтере, поставь уплотненный). Возможно на принтере некоректно выставлен ДИП-переключатель "автоматический перевод строк" (в LX-1050 точно есть, про остальные надо читать мануал).
2.Программа некоректно формирует начало строки устанавливая головку в определенные положения, для проверки неплохо взять другой принтер, можно даже лазерный А4, и вывести также на печать, половину листа с началом таблицы в любом случае будет видно (на некоректное отображение кирилицы внимание можно не обращать).


Список тем форума
Рекламное место пустует   Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует