Как я могу посылать страницу доказательства принтера используя Дельфи?

Я работаю в проекте, где нужно печатать страницу доказательства в особенном принтере. Страница доказательства принтера должна быть той же самой, что печатает Windows, когда послано со свойств принтера-> печатать страницу доказательства.

как я могу делать это с Дельфи?

How хан I send to print в Тест Пэйдж to в printer using Дельфи

2
задан 23.05.2017, 15:39
1 ответ

Этот кусок кода напечатает страницу доказательства в назначенном по умолчанию принтере:

uses ShellAPI, printers;
{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  Device, Driver, Port: Array [0..255] of Char;
  hDevMode: THandle;
begin
  Printer.GetPrinter(Device, Driver, Port, hDevmode);
  ShInvokePrinterCommand(handle, PRINTACTION_TESTPAGE, Device, nil, true );
end;

Результат: Printer test page

Если ты хочешь послать страницу доказательства в другой принтер, пошли имя той же самой в параметре Device, и в этом случае ты можешь уберегаться призыв к Printer. GetPrinter, например:

procedure TForm2.Button1Click(Sender: TObject);
begin
  ShInvokePrinterCommand(handle, PRINTACTION_TESTPAGE, 'MiImpresora', nil, True);
end;
1
ответ дан 24.11.2019, 13:35

Теги

Похожие вопросы