![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
вот код
Jpg.LoadFromFile(FileName); Canvas.StretchDraw(Bounds(PX, PY, PW, PH), Jpg); проблема в том, что FileName (jpg-файл) должен печататся 3 шт на одной странице, а печатает иногда все три, иногда одну и то такую захочет . закономерность выявить не могу .З.Ы. на старом принтере НР LJ1100 печатает нормально(принтер поломался ), купили новый НР 1102 на нём и любом другом не печатает . |
|
#2
|
||||
|
||||
|
ЖЖОШ... я тоже не могу, и, знаешь, чувак,, штатный телепат наш в отпуск ушОл. Он ща оттопыривается с деФФками на белом песочке мальдиФских островов. А мы, из-за этого *****а, не знаем КАК ЖЕ, бля, ВЫГЛЯДИТ ТВОЙ КОД.
|
|
#3
|
||||
|
||||
|
Даа, это сильно. Какое отношение кусочек вашего кода имеет к печати и уж к количеству копий - это для меня тоже загадка.
|
|
#4
|
|||
|
|||
|
звыняйте.
вот полностю код. Код:
Result := True;
Screen.Cursor := crHourglass;
with Printer do
try
PrinterIndex := Prnt;
BeginDoc;
with Canvas.Font do
begin
Name := 'Arial Cyr';
Size := 9;//7; //10;
PInch := PixelsPerInch;
Style := [fsBold];
end;
try
for J := Low(Bmp) to High(Bmp) do
begin
DrawPrintReportBmp(Canvas, 0, PInch, Bmp[J]);
end;
for I := Low(Arr) to High(Arr) do
DrawPrintReportRec(Canvas, CopyNo, PInch, Arr[i], False, DotMatrix);
finally
EndDoc;
end;
finally
Screen.Cursor := crDefault;
end;
procedure DrawPrintReportBmp(Canvas: TCanvas; PageNo, PerInch: Integer;
const Rec: TPrintReportBmp);
begin
with Rec do
//if (AtPage <= 0) or (AtPage = PageNo) then
ImageDrawIn(Canvas, PerInch, X, Y, W, H, FileName);
end;
procedure ImageDrawIn(Canvas: TCanvas; PerInch: Integer;
X, Y, W, H: Extended; const FileName: String);
var
Jpg: TJpegImage;
PX, PY, PW, PH: Integer;
begin
if not FileExists(FileName) then
begin
ErrorFmtDlg(SDataModErrorTemplateNotExists, [FileName]);
Exit;
end;
PX := Round(PerInch * X / 2.54);
PY := Round(PerInch * Y / 2.54);
PW := Round(PerInch * W / 2.54);
PH := Round(PerInch * H / 2.54);
Jpg := TJPEGImage.Create;
try
Jpg.LoadFromFile(FileName);
// sleep(1500);
Canvas.StretchDraw(Bounds(PX, PY, PW, PH), Jpg);
finally
Jpg.Free;
end;
end;Последний раз редактировалось Admin, 02.05.2011 в 19:44. |