Windows - Erro PCL XL
Windows - Erro PCL XL | ||
Canal Qb |
Um grande problema causado por diferença de versões de DLLs. |
Reeditado
Um erro comum, causado por aplicações desatualizadas.
Por exemplo, você tem o Windows 10, mas possui o Office 2003, neste caso o que pode ocorrer é que durante o procedimento de instalação do Office sobre o Windows, ele acaba substituindo DLLs padrões de gerenciamento.
Sabemos que DLLs são bibliotecas de comandos, que são responsáveis por algumas macros de determinados programas, e muitas vezes mais de um programa utiliza a mesma DLL, como o caso dos produtos Microsoft.
Também temos, erros deste tipo são causados por fontes true-type desatualizadas, onde a tabela ASCII está em ordem diferente ou com algum caractere ausente.
Entendendo o que está escrito acima, é fácil entender que sistemas operacionais como Windows 7, ou o Windows 8, 8.1 ou mesmo o Windows 10, vem com o pacote de biblioteca superior ao FrameWork 3, mas ao instalar aplicativos com data de lançamento menor como por exemplo o Office 2003, é comum de o processo de instalação forçar a instalação de pacotes de bibliotecas comuns desatualizados, como por exemplo o FrameWork 3.0, que substitui arquivos como por exemplo o Unidrv.dll, fazendo com que o driver comece a apresentar erro.
Mas por que apresenta erro?
Vamos pensar que uma DLL é um livro de constante atualização, OK?
Então vamos pensar em Framework como uma grande livraria, que recebe em cada versão, um DLL, um livro novo atualizado, e neste livro, com mais capítulos adicionados.
Então quando você manda imprimir, o Windows solicita algum comando que ele acredita que o Framework possua, vai ele pede pra abrir o capitulo 16 do livro DLL, pois a livraria Framework, fala pra ele que a propriedade que ele precisa para imprimir, já não está mais no capitulo 11, e sim no capitulo 16, então o Windows vai procurar o comando de impressão especifico no capitulo informado, mas o livro foi substituído, e colocado no lugar, um que tem o comando de impressão no capitulo 14, causando um loop que não informará erro, e vai passar direto entendendo que está tudo de acordo, e ao acionar neste caso o livro Unidrv.dll, ele irá passar batido, sem entender que ele precisaria ler o capitulo 14, e irá enviar código invalido para a impressora, causando os erros que sofremos, como código invalido de impressora, caracteres inválidos impressos, e até mesmo pedido de alteração de bandeja, mesmo que as configurações do documento e do driver esteja corretamente ajustadas.
Possíveis correções em alguns sistemas :
Windows XP e Vista (KB948046): http://support.microsoft.com/kb/948046
Server 2003 e 2008 (KB948349): http://support.microsoft.com/kb/948349
Windows 7: Service Pack, possui a correção, por isso instale seus programas antes de atualizar o SP1 do Windows 7.
Todos os driver de todos os fabricantes possuem a informação padrão de recursos avançados ou recursos da impressora.
Se mesmo assim, o erro permanecer,você pode ativar o depurador de PS e PCL da impressora, basicamente ele imprime uma pagina de erro quando a impressora receber uma impressão errada.
Caso você não tenha entendimento sobre códigos/comandos de erro, e mesmo assim os Packs/Hotfix não resolveram, altere o driver para PCL5, tem menos recurso, mas irá sanar o problema.
Outras formas de resolver este problema é ajustar o driver.
Fonte True-Type: Fazer download como fonte de disco
Enviar True-Type como bitmaps: Ativado
Print Data Optimization: Optimize for text and Vector
No caso das OKIdatas, o caminho é: Estender -> Fonte
Aplicações de MainFrame de lote, normalmente veem com fontes já não utilizadas no Windows e ou Fontes desatualizadas muitas vezes em 16 bits, isso causa erro de compressão da fonte em 32 ou 64 bits.
As aplicações de sistemas operacionais, utilizam motores de conversão de de 64 bits para 32 bits, mas grande parte já não possui recursos para converter a linguagem de 16 bits para nenhuma outra, a menos que seja manualmente solicitada.
Acredito que as fontes que geram o erro PCL na aplicação de mainframe deva ser instalada na c:\Windows\Fonts e então entrar no menu fonte e informar a tabela de substituição de fontes.
Não posso informar se funciona, e se funcionar a fonte tem de estar nesta pasta ou na pasta do servidor de impressão.
Menu de Qualidade de impressão
Qualidade de Impressão: 600 dpi/PPP
No caso das OKI, o caminho é: Opções de trabalho de impressão -> Qualidade
A forma de acesso de uma aplicação no gerenciador de impressão do driver do sistema operacional, é o que faz a impressão da fonte de PS para PS, PS para PCL, de PS para PCL para PS ou inverso, e finaliza em XL;
Impressão em Lote ou MainFrame
Esta pequena resenha abaixo é referente ao processo mais comum de impressão de aplicações em mainframe;
Quando o cliente (1) finaliza o processo e gera um pedido de impressão, ele cria um arquivo no servidor da aplicação (2), onde por sua vez, ele processa um pedido para outro local (3), este local possui as fontes necessárias para gerar a imagem da impressão, “os comandos PITCHs”, se o local onde gera a impressão (3) estiver com o driver e a fonte True-Type e o Framework desatualizado ou instalado incorretamente, ele pode gerar o arquivo de forma incorreta e devolver ao cliente (1) um arquivo com comandos PITCHs incorretos.
Devido a isto, grande parte dos problemas relacionado ao PCL XL não está vinculado ao fabricante da impressora, ou mesmo o próprio sistema operacional que imprimi e sim a aplicação que gera a imagem de impressão.
Erro em aplicações locais, sem uso de servidores;
Em Windows, Adobe Reader é mais antigo que o Windows, é comum apresentar este problema, isso ocorre pela mesmo ideia passada anteriormente, mas vamos tentar explicar um pouco melhor.
Breve resumo sobre o que é PCL e o que é PS:
O driver PCL é um driver matricial (tosco), é como um comando binário que mostra para uma agulha de impressão matricial o que fazer, basicamente o PCL original dizia a impressora “se eu enviar 1, você fura a folha, se eu enviar 0, não fure”! Com a evolução das impressões começou a ocorrer a evolução do sistema, mas o conceito é o mesmo.
O driver PS é um driver criado pela Adobe, simplesmente é a delicadeza aplicada ao PCL, com a necessidade do realismo nas impressões, a Adobe desenvolveu uma linhagem baseado no PCL já para impressoras não matriciais, um algo mais sutil, mais delicado, para dar uma melhor finalização nas artes impressas.
É como se o PCL injetasse 10 pontos por pixel e o PS 1000 por pixel;
Estas funções PS são implantadas comumente nas aplicações da Microsoft e da Adobe através de Framework, DLL e outros caminhos Hotfix’s
Mas, e daí????
E daí que, devido o PS ser uma invenção da Adobe, toda imagem gerada nela é gerada na aplicação Ex. Adobe Reader, e quando atualizamos o Windows e deixamos aplicativos como estes da Adobe para trás, ela usa o gerenciador interno do aplicativo para gerar a imagem, gerando um arquivo com fontes True-Type com versões diferentes a do Windows (devido as atualizações dele), causando assim erro de ausência de código de programação na hora da conversão do PS para o PCL.
O incrível é que se o driver do Windows for PS ao invés de apresentar este erro, ele causa lentidão isso por que o Windows nem tenta ler o PS desatualizado da aplicação e manda para a impressora imprimir em Lidil.
Para não dar erro, o Windows deveria fazer isso no PCL também, mas é Microsoft, então não tem choro, algo sempre é pela metade!
Até aqui falei de adobe, mas este erro também ocorre em Excel, PowerPoint e Corel e agora?
Bom não vou me aprofundar em todos os aplicativos, mas vou resumir falando do Excel.
Você já pegou um arquivo .XLS ou .XLSX e renomeou a extensão para .ZIP??????
Isso mesmo ele se converte em um arquivo zipado, incrível né!!!
Olha essa informação abaixo:
Vá no Excel e criei um arquivo qualquer com gráfico e salve.
Então vá no arquivo e renomeei a extensão e extraia,
Após a extração ele criou uma pasta XL, esta pasta está toda área gráfica do arquivo negociado pelo Excel vigente;
E o que isso tudo isso tem haver com o erro PCL XL?
XL do PCL é uma emulação acho que da IBM ou Epson, não me lembro! Criada no passado para que leitores de caracteres pudessem interpretar os códigos de barras, quando impressos por impressoras laser ou jato de tinta ou cera. Sem ele não é possível imprimir alinhadamente uma barra do código (sai meio que tremido), e o leitor não consegue interpretar, e ficou nativo do PCL, afff!!!!
Então basicamente imprimindo numa aplicação PS onde o Spooler de impressão é controlado pelo PCL XL, temos uma situação parecida com esta abaixo:
De PS para PCL XL
Quando tudo OK, mas configurado errado: Sai de 1000 pontos da aplicação PS, vai para o Windows para 10 pontos PCL e no fim termina na impressora em XL 1 ponto por pixel.
Quando não OK, aplicativo Mainframe com cliente:
Sai PS do cliente, vai para o mainframe, gera um arquivo PCL em PDF, volta para o cliente, o Windows abre esse arquivo em PS, imprime em PCL e sai em XL.
O problema é que o segundo processo, o arquivo tem uma perda muito alta de fonte true-type e pixel, causando falha na compreensão dos dados.
Sem a fonte igual em todos os computadores (cliente/servidor), o serviço utiliza uma fonte similar, e neste último caso ele acaba fazendo isso umas 5 repetições deste processo até o processo final, devido a isso a impressora começa imprimir um monte de caracteres inválidos, que é a página, ou seja, causa o erro durante o processo, impedindo que a informação que dentro dos aplicativos é PS, saia em modo XL.
Acredito que o correto para normalizar o problema, seja desativar a saída XL na impressora, talvez fazendo isso causamos uma conversão de driver, com menos etapas dos emuladores, diminuindo o risco de erro, isso pensando em não alterar as configurações dos servidores e dos clientes.
Agora se pensar em padronizar tudo, que é o mundo ideal.
Sugiro para contorno, inserir o último Hotfix do Windows referente a esta falha do Framework, atualizar o Framework, padronizar as versões do adobe, atualizar para o ultimo firmware das impressoras, e validar se todos os drivers dos servidores se estão de acordo.
Já para a aplicação que sai do servidor, atualizar o Hotfix do servidor, atualizar a pasta de fonte True-Type e verificar se existe atualização do sistema (emulador do processador, motores de sincronismo, DLL, Packs, ou algo do tipo).
#PCL #XL #PS #Impressoras
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.