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

Delphi Sources



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

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

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

Код:
  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, время: 18:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter