Решение проблемы с печатью копий в подбор
Вот мое решение проблемы с печатью копий в подбор.
Дело в том, что на некоторых принтерах HP печать копий в подбор присходит некорректно. В версии 2.55 это касается так же. Эту проблему я решил следующим образом. В модуле f_class процедура DoPrintReport откорректирована следующим образом:
После строки:
После данной модификации печать копий в подбор корректно работает на всех моделях лазерных принтеров от HP, которые есть в конторе (1300, 1200, 4250)
На принтерах других производителей не тестировалось, но по идее должно работать.
Очень рад, если кому помог.
Дело в том, что на некоторых принтерах 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)
На принтерах других производителей не тестировалось, но по идее должно работать.
Очень рад, если кому помог.