Identificar tipo da impressora
Gostaria de saber se existe alguma função para descobrir se um
determinado drive de impressora é de uma impressora matricial ou não.
É que estou fazendo a impressão direta para a porta e gostaria de validar o a impressora configurada é uma matricial.
Obrigado,
determinado drive de impressora é de uma impressora matricial ou não.
É que estou fazendo a impressão direta para a porta e gostaria de validar o a impressora configurada é uma matricial.
Obrigado,
Mcd
Curtidas 0
Respostas
Emir Neto
22/04/2004
Caso alguém saiba, por favor mande para mim, pois o meu problema é idêntico ao nosso colega.
GOSTEI 0
Tiba
22/04/2004
Existe ou não essa possibilidade ??
GOSTEI 0
Joker
22/04/2004
seguinte... Tem uma forma que conheço, mas nào chega a ser um comando de baixo nível: tem uma determinada fonte que só existe se a impressora selecionada ou padrão for matricial: ´Draft 10cpi´. Eu costumo usar um objeto TPrinter pois ele recolhe as fontes da impressora padrão. Faz-se uma procura no TStringList assim:
.
.
.
begin
if (Printer.IndexOf(´Draft 10cpi´) >= 0) then
else
end;
.
.
.
Se vc vai dar opção do usuário selecionar a impressora, procure nas relação de fontes dela e vai conseguir.
Espero ter ajudado.
.
.
.
begin
if (Printer.IndexOf(´Draft 10cpi´) >= 0) then
else
end;
.
.
.
Se vc vai dar opção do usuário selecionar a impressora, procure nas relação de fontes dela e vai conseguir.
Espero ter ajudado.
GOSTEI 0
Tiba
22/04/2004
.
.
begin
if (Printer.IndexOf(´Draft 10cpi´) >= 0) then
else
end;
.
.
Não seria :
Printer.Fonts.IndexOf(´Draft 10cpi´) >= 0
??
Eu pensei em fazer assim, mas algumas impressoras NÃO Matriciais estão vindo com essa fonte tbm ...
Será se existe alguma outra forma de descobrir o tipo da Impressora ?
GOSTEI 0
Joker
22/04/2004
putz, vc pegou alguma impressora que tem essa fonte? sacanagem... eu acreditava que o método era super eficiente... A princípio vou ficar te devendo, mas vou pesquisar.
GOSTEI 0
Tiba
22/04/2004
Esse tipo de impressora, que possue essa fonte, ainda são raras ...
mas ..
e se for uma tendência a inclusão dessa fonte nas próximas impressoras ?? ..
por isso ainda estou a procura de um novo método de [b:551f92e3ce]identificação do tipo de impressora [/b:551f92e3ce].
mas ..
e se for uma tendência a inclusão dessa fonte nas próximas impressoras ?? ..
por isso ainda estou a procura de um novo método de [b:551f92e3ce]identificação do tipo de impressora [/b:551f92e3ce].
GOSTEI 0
Tiba
22/04/2004
sobe
GOSTEI 0
Vinicius2k
22/04/2004
Colegas,
Vcs já pensaram em fazer um teste pela resolução ?
Até aonde eu sei (posso estar enganado), impressoras matriciais tem uma resolução X máxima de 144 Pixels e as InkJet e Laser são, no mínimo, 300 Pixels...
Vejam um exemplo de como extrair a resolução usando a GetDeviceCaps da API do Windows :
Espero ter ajudado...
T+
Vcs já pensaram em fazer um teste pela resolução ?
Até aonde eu sei (posso estar enganado), impressoras matriciais tem uma resolução X máxima de 144 Pixels e as InkJet e Laser são, no mínimo, 300 Pixels...
Vejam um exemplo de como extrair a resolução usando a GetDeviceCaps da API do Windows :
procedure TForm1.Button1Click(Sender: TObject); var Device, Driver, Port : array[0..255] of char; hDMode: THandle; ResolucaoX: Integer; begin if PrintDialog1.Execute then begin // Esta linha é para forçar a seleção da impressora // escolhida no PrintDialog. Caso contrário será a // Impressora Padrão Printer.GetPrinter(Device, Driver, Port, hDMode); // Leitura da Resolução ResolucaoX:= GetDeviceCaps(Printer.Handle, ASPECTX); // Simples Teste ShowMessage(IntToStr(ResolucaoX)); end; end;
Espero ter ajudado...
T+
GOSTEI 0