Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Печать - разобрать по копиям / 9 сообщений из 9, страница 1 из 1
03.11.2003, 09:20
    #32313042
Sol
Sol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Подскажите, как при печати нескольких копий многостраничного документа
сделать, чтобы печать всех страниц каждой копии печаталась отдельно.
Ведь по умолчанию идет печать не по копиях, а по страницах.
Т.е. нужно, чтобы можно было, как например в Word - разобрать по копиям.

Пробовал манипулировать свойством Collate принтера, но что-то безрезультатно.
...
Рейтинг: 0 / 0
04.11.2003, 08:37
    #32314311
Sol
Sol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Неужели никто не знает?
...
Рейтинг: 0 / 0
13.11.2003, 14:42
    #32323081
Sol
Sol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Да, на этом форуме ловить нечего...
Здесь отвечают только на самые примитивные вопросы...
...
Рейтинг: 0 / 0
13.11.2003, 14:47
    #32323091
Rostyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Вы, пожалуйста проблему поточнее опишите - хотя бы что из чего печатаете, а потом уже и судите о форуме!
...
Рейтинг: 0 / 0
13.11.2003, 14:47
    #32323092
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
автор писал:Здесь отвечают только на самые примитивные вопросы...

Ага. И порнушкой еще приторговываем.

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

Откуда мы знаем, чем ты там печатаешь, чтоб ответить тебе, а?
...
Рейтинг: 0 / 0
14.11.2003, 10:35
    #32324034
Sol
Sol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Извините, если я мутно описал, че мне надо :))
Попробую популярнее:

После того, как юзер выбрал страницы для печати с 5 по 10, а также кол-во копий = 5 и поставил галочку "Разобрать по копиям", запускаем примерно такой код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Printer.Copies := 5;
    Printer.BeginDoc;
    try
      for i := StartPage  to EndPage do begin
          DrawPage(........);
          Printer.NewPage;
      end;
    finally
      Printer.EndDoc;
    end;



Единственная проблема - с галочкой "Разобрать по копиям". Ведь по умолчанию печатается вначале 1-я страница 1-й копии, затем 1-я стр. 2-й копии и т.д. А надо 1-я стр. 1-й копии, 2-я стр. 1-й копии и т.д.

Я пробовал
Printer.Capabilities := Printer.Capabilities + pcCollation;
но это вызывает ошибку для всех типов принтеров.

Я понимаю, что можно написать свой цикл обработки страниц, но это увеличавает файл, отправляемый принтеру, поэтому хотелось бы использовать
стандартный механизм (он наверняка существует).
...
Рейтинг: 0 / 0
14.11.2003, 10:40
    #32324040
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Printer.Copies := 5; 
Printer.BeginDoc; 
try 
for i := StartPage to EndPage do begin 
DrawPage(........); 
Printer.NewPage; 
end; 
finally 
Printer.EndDoc; 
end;


Ну и кто мешает переписать в виде вложенных циклов и убрать
Код: plaintext
Printer.Copies := 5
???
...
Рейтинг: 0 / 0
14.11.2003, 10:43
    #32324047
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
>> можно написать свой цикл обработки страниц, но это увеличавает файл, отправляемый принтеру

В каком смысле "увеличивает" и с чего бы он увеличивался?



eNose
...
Рейтинг: 0 / 0
21.11.2003, 14:14
    #32331482
Sol
Sol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать - разобрать по копиям
А вы заметьте - если убрать Copies := 5
и заменить это циклом с 1 по 5, то размер файла вырастет почти в 5 раз,
да и печатается дольше (проверял неоднократно).

Чего растет файл, могу объяснить - если мы пишем Copies := 5, то принтеру
передается только эта строка (все остальное принтер уже сделает сам), а если заменить на свой цикл, то вся прорисовка добавится в этот файл.

В свойстве Printer.Options есть опция poCollation. Это точно имеет отношение к рассматриваемой проблеме (только какое?), но как его использовать?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Печать - разобрать по копиям / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]