Перейти к содержанию
  • Регистрация

Николай_1988

Пользователи
  • Публикаций

    3
  • Зарегистрирован

  • Посещение

Информация о Николай_1988

  • Звание
    Новичок

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Благодарю, решил немного иначе ) Создается лист вдвое шире чем изначальный и в него пихаются два битмапа. Если документов нечетное количество, суется пустой. Далее это дело переворачивается на 90 градусов и сохраняется (посылается на печать). Профит. А5 готов ))
  2. Здравствуйте, коллеги! Нужна ваша помощь. Перерыл кучу гайдов, не нашел ответа на волнующий вопрос. Если ниженаписаное выглядит уныло, прошу не тролить, учусь только )) Приложение для Windows на FM. На основании png-шного шаблона с помощью canvas, накидывает на него строки в определенные места и сохраняет в папке с ехе. В зависимости от диапазона вводимых дат создается несколько однотипных изображений 1_0, 1_1, 1_2 и т.д. (я художник, я так вижу) просто с разными датами и в цикле посылается на печать каждый файл следующим образом: var SrcRect, DestRect: TRectF; DateCount, i : integer; IMG:TImage; begin IMG:=TImage.Create(nil); DateCount := DaysBetween(DE_Order.Date,DE_Order2.Date); //получаем количество дней между датами for I := 0 to DateCount do ListCreate(DE_Order.Date+i,i); //процедура создания png. Втыкает дату в шаблон и сохраняет документ как 1_i if PrintDialog1.Execute then //После выбора принтера begin for i := 0 to DateCount do //отправляем каждый файл в очередь печати напрямую в принтер begin Printer.BeginDoc; SrcRect.Left := 0; SrcRect.Top := 0; SrcRect.Right := 2481; SrcRect.Bottom := 3508; IMG.Bitmap.LoadFromFile(PChar('1_'+IntToStr(i)+'.png')); DestRect := TRectF.Create(0, 0, 4962, 7016); //тут я так и не понял, но методом подгона выяснилось, что без увеличения в 2 раза значений SrcRect нормально печатать не будет. Но это не важный момент Printer.Canvas.DrawBitmap(Img.Bitmap, SrcRect, DestRect, 1); Printer.EndDoc; end; end; end; Вот и сам вопрос.. Возникла задача.. Печатать все эти документы в А5 формате по 2 листа на странице. Если делать все руками, можно в папке выделить все изображения - на печать. Там и можно настроить 2 на стр, 4 на странице и прочее. Как программно это можно реализовать? Заранее огромное спасибо!
  3. Здравствуйте, отцы и боги fm! Подскажите пожалуйста новичку..? Перерыл все, что мог, ответа не нашел. Тыкните пожалуйста носом, если есть какая-нибудь статья. Коротко о моей задаче. Приложение для андройда. Из забитого списка с БД формируется счет с использованием загруженного в TImage изображения (что-то вроде листа А4 с шапкой фирмы) и Canvas, накидывающего на него реквизиты, список товаров, сумму и прочее. С помощью ShowShareSheetAction1.Bitmap.Assign(IMG.Bitmap) отправляется клиенту. Проблема возникла, когда список товаров был больше, чем задумано. Ладно, через условия (if количество товаров > например, 60 then создаем динамический image и записываем остатки туда) можно перекидывать. Но, как отправить сразу эти 2 TImage? Пробовал ShowShareSheetAction1.Bitmap.Assign(IMG.Bitmap); ShowShareSheetAction1.Bitmap.Assign(IMG2.Bitmap); Отправляет последнюю запись. Пробовал что-то вроде: ShowShareSheetAction1.Bitmap.Assign(IMG1.Bitmap, IMG2.Bitmap); Выдает, естественно, ошибку. Это как-нибудь вообще можно реализовать? Может, есть какая-нибудь альтернатива? Или, как в примерах выше, путем сохранения этих файлов в память и последующего присоединения?
×
×
  • Создать...