Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Один из способов, это перед началом печати изменить структуру devicemode у принтера.
Другие настройки, которые можно поменять, смотрите в TDEVMODE в хелпе Delphi 1.02 или DEVMODE в Delphi 2.01.
Следующий пример демонстрирует изменение размера печатаемой страницы:
procedureTForm1.Button1Click(Sender: TObject); var
Device: array
[0..255] of
char; Driver: array
[0..255] of
char; Port: array
[0..255] of
char; hDMode: THandle; PDMode: PDEVMODE; begin
Printer.PrinterIndex := Printer.PrinterIndex; Printer.GetPrinter(Device, Driver, Port, hDMode); if
hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode); if
pDMode <> nil
then
begin
{Set to legal} pDMode^.dmFields := pDMode^.dmFields or
dm_PaperSize; pDMode^.dmPaperSize := DMPAPER_LEGAL;
{Set to custom size} pDMode^.dmFields := pDMode^.dmFields orDM_PAPERSIZE or
DM_PAPERWIDTH or
DM_PAPERLENGTH; pDMode^.dmPaperSize := DMPAPER_USER; pDMode^.dmPaperWidth := 100
{SomeValueInTenthsOfAMillimeter}; pDMode^.dmPaperLength := 100 {SomeValueInTenthsOfAMillimeter}; {Set the bin to use} pDMode^.dmFields := pDMode^.dmFields orDMBIN_MANUAL; pDMode^.dmDefaultSource := DMBIN_MANUAL; GlobalUnlock(hDMode); end
; end
; Printer.PrinterIndex := Printer.PrinterIndex; Printer.BeginDoc; Printer.Canvas.TextOut(100, 100, 'Test 1'); Printer.EndDoc; end
;