Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.09.2012, 21:47
Artempokrowski Artempokrowski вне форума
Прохожий
 
Регистрация: 05.07.2010
Сообщения: 12
Репутация: 10
По умолчанию не печатает в xps файл

Использую такие компоненты как TdrawObject 2.3. Всё вывожу напечать следующим кодом
Код:

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Printer.Title := application.Title + ' document';
Printer.Copies := PrintDialog1.Copies;
  begin
try
Printer.BeginDoc;
       destRec := Rect(0, 0,
      (fMf.Width  div screen.PixelsPerInch* fPtrPPI.cx-100),
      (fMf.Height  div screen.PixelsPerInch* fPtrPPI.cy-100)); // расчёт области на печать
  for i:=0 to kx-2 do
    begin
     for j:=0 to ky-1 do
       begin
        printer.Canvas.StretchDraw(destrec,fmf);
        printer.NewPage;
        OffsetRect(destRec,
          0,
          -round((printer.PageHeight-200))); //смещение по у       
       end;
       destRec := Rect(0, 0,
      (fMf.Width  div screen.PixelsPerInch* fPtrPPI.cx-100),
      (fMf.Height  div screen.PixelsPerInch* fPtrPPI.cy-100));
      OffsetRect(destRec,                  // смещение по х
          -round((printer.PageWidth-200)*(i+1)),
          0);
    end;
finally
Printer.EndDoc;
end;
где fmf это TMetafile. То есть в метафайле хранится изображение автоматически создаваемое с помощью библиотеки ТDrawObject. при сохранении его в файл всё происходит ровно, рисунок как надо, то есть тот который создали. Но при печати на виртуальном принтере происходят странные вещи: я в данном коде делаю смещение и вывожу его на принтер. То есть одно изображение будет скажем на 24 листах А4. всё зависит от того как нанесёшь объекты. В некоторых случаях он сохраняет в xps файл правильно, а иногда сохраняет и сразу удаляет его. Народ может кто подскажет в чём проблема? как её решить?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:47.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025