![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Узнать, поддерживает ли принтер PostScriptDelphi , ОС и Железо , Принтеры и ПечатьУзнать, поддерживает ли принтер PostScript
Оформил: DeeCo { That is really difficult do to if it has to work on all Windows platforms. The best way (no kidding) may be to ask the user which printer to use. What platforms do you need to support? If it is only Win2K (and perhaps XP) one may be able to use this (i have no postscript-enabled printer around to see if it works!): } uses WinSpool, Printers; {: Check if the currently selected printer supports postscript. Only applicable on Win2K/XP! } function PrinterSupportsPostscript: Boolean; const POSTSCRIPT_PASSTHROUGH = 4115; POSTSCRIPT_IDENTIFY = 4117; Escapes: array[0..2] of Cardinal = (POSTSCRIPT_DATA, POSTSCRIPT_IDENTIFY, POSTSCRIPT_PASSTHROUGH); var res: Integer; i: Integer; begin Result := false; for i := Low(Escapes) to High(Escapes) do begin res := ExtEscape(printer.Handle, QUERYESCSUPPORT, sizeof(Escapes[0]), @Escapes[i], 0, nil); if res <> 0 then begin Result := true; Break; end; end; end; procedure TForm1.Button1Click(Sender: TObject); const boolstr: array[Boolean] of string = (' not', ''); var i: Integer; S: string; begin for i := 0 to Printer.Printers.Count - 1 do begin Printer.PrinterIndex := i; memo1.Lines.add( Format('Printer %s does%s support Postscript', [printer.printers[printer.printerindex], boolstr[PrinterSupportsPostscript]])); end; end; Приведенный код на языке Delphi предназначен для проверки, поддерживает ли выбранный принтер язык PostScript, который используется в системах печати. Код использует функцию Вот шаг за шагом, как работает код:
В обработчике события Код специфичен для операционных систем Windows 2000 (Win2K) и позднее, поскольку он зависит от функции Чтобы поддерживать другие платформы Windows, вам нужно использовать альтернативные методы запроса возможностей принтера, такие как использование API-интерфейса принтерного драйвера или зависимости от третьих библиотек, которые предоставляют схожую функциональность. В качестве предложения можно рассмотреть более современный подход, например, использовать интерфейс Определить, поддерживает ли принтер PostScript, может быть трудно, особенно если необходимоworks на всех платформах Windows. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Принтеры и Печать ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |