Решение проблемы с печатью копий в подбор

отредактировано October 2005 Раздел: FastReport 2.xx VCL
Вот мое решение проблемы с печатью копий в подбор.
Дело в том, что на некоторых принтерах HP печать копий в подбор присходит некорректно. В версии 2.55 это касается так же. Эту проблему я решил следующим образом. В модуле f_class процедура DoPrintReport откорректирована следующим образом:
После строки:
if Assigned(FOnPrintReportEvent) then
    FOnPrintReportEvent;
я вставил следующий текст (немного откоректированный текст из версии по-моему 2.52)
 if not Collate then
    Printer.Copies := 1 else
    Printer.Copies := Copies;
  Printer.BeginDoc;
  f := True;
  if Collate then
  begin
 //   for j := 0 to Copies - 1 do
      for i := 0 to EMFPages.Count - 1 do
        if (pgList.Count = 0) or (pgList.IndexOf(IntToStr(i + 1)) <> -1) then
        begin
          PrintPage(i);
          if Terminated then
          begin
            Printer.Abort;
            pgList.Free;
            Exit;
          end;
        end;
  end
  else
    for i := 0 to EMFPages.Count - 1 do
      if (pgList.Count = 0) or (pgList.IndexOf(IntToStr(i + 1)) <> -1) then
        for j := 0 to Copies - 1 do
        begin
          PrintPage(i);
          if Terminated then
          begin
            Printer.Abort;
            pgList.Free;
            Exit;
          end;
        end;
 
 Printer.EndDoc;
 pgList.Free;
end; //конец процедуры

После данной модификации печать копий в подбор корректно работает на всех моделях лазерных принтеров от HP, которые есть в конторе (1300, 1200, 4250)
На принтерах других производителей не тестировалось, но по идее должно работать.

Очень рад, если кому помог.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.