Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 05.07.2019, 09:41   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 420
Репутация: 15
Счастье Настроить размер печати на принтер

Здравствуйте!
Пытаюсь вывести с image на принтер, но, на лист влезает толь 1\4 того, что нужно распечатать.
Как это исправить?
Код:
  PBitmap:=TBitMap.Create;
  PBitmap:=Image1.Picture.Bitmap;
  with PRect do
  begin
    left:=0;
    top:=0;
    right:=Printer.PageWidth/image1.Width;
    Bottom:=Printer.PageHeight;
  end;
  with printer do
  begin
    BeginDoc;
    font.name:='Times New Roman';
    Canvas.StretchDraw(PRect,PBitmap);
    EndDoc;
  end;
  PBitmap.Free;
Женя32 вне форума   Ответить с цитированием
Старый 05.07.2019, 11:07   #2
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 420
Репутация: 15
Счастье

На предпросмотре выходит точно также,как и на принтере..., только на всю страницу
Код:
procedure TForm2.Browse;
var
  rect: TRect;
begin
  rect.Top:= 10;
  rect.Left:= 10;
  rect.Right:= 10 + Trunc(Form1.Image1.Picture.Graphic.Width*4) div 10;
  rect.Bottom:= 10 + Trunc(Form1.Image1.Picture.Graphic.Height*4) div 10;
  Image1.Canvas.Pen.Mode:= pmWhite;
  Image1.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height);
  Image1.Canvas.Draw(rect.Left, rect.Top, Form1.Image1.Picture.Graphic);
end;

procedure TForm2.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TForm2.btnPrintClick(Sender: TObject);
var
  rect: TRect;
begin
  if PrintDialog1.Execute then
  begin
    Close;
    rect.Top:= 10;
    rect.Left:= 10;
    rect.Right:= 10 + Trunc(Form1.Image1.Picture.Graphic.Width);
    rect.Bottom:= 10 + Trunc(Form1.Image1.Picture.Graphic.Height);
    Printer.BeginDoc;
    Printer.Canvas.Draw(rect.Left, rect.Top, Form1.Image1.Picture.Graphic);
    Printer.EndDoc;
  end;
end;

procedure TForm2.FormActivate(Sender: TObject);
var
  x, y: Word;
begin
  Image1.Width:= Printer.PageWidth div 10;
  Image1.Height:= Printer.PageHeight div 10;
  y:= round((ScrollBox1.Height - Image1.Height)/2);
  x:= round((ScrollBox1.Width - Image1.Width)/2);
  Image1.Left:= x;
  Image1.Top:= y;
  Browse;
end;
Миниатюры
Нажмите на изображение для увеличения
Название: Print.jpg
Просмотров: 55
Размер:	70.1 Кб
ID:	97133  
Женя32 вне форума   Ответить с цитированием
Старый 17.07.2019, 05:40   #3
xxbesoxx
Профессионал
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Адрес: Грузия Рустави
Сообщений: 1,340
Репутация: 719
Отправить сообщение для xxbesoxx с помощью Yahoo
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Как это исправить?
Почему не применять Rave Reports который предназначено для этого ?
__________________
E_MAIL: rijgvina7@yahoo.com
xxbesoxx вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Версия для печати KANDRAT JavaScript, Ajax 3 12.12.2012 16:01
Отслеживание печати Яшар Общие вопросы Delphi 0 05.06.2011 11:57
Вывод печати на термопринтер Custom VKP-80 СТРАННИК Общие вопросы Delphi 3 21.06.2010 20:01
Дублирование при печати pavel.ignatenko Microsoft Office Excel 1 04.03.2010 00:39
Вывод текста на канву предварительного просмотра печати. Moly Общие вопросы Delphi 0 29.09.2009 17:31


21:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru