Luis Andrade Posted August 24, 2018 at 09:06 AM Report #611657 Posted August 24, 2018 at 09:06 AM (edited) Bom dia, Tenho um software proprierário de uma empresa que já faliu, e que envia ficheiros cvs para a impressora. Acontece que o ficheiro enviado é impresso e eliminado, e preciso da informação que consta do mesmo para gravar numa BD, pensei em desenvolver uma impressora virtual que me possa reter o ficheiro em spool de forma a o poder ler e posteriormente eliminar, estou farto de ler documentação da Microsoft e ate já explorei as fontes do PDDCredator mas sem sucesso, alguem já desenvolveu algo identico ou passou pelo mesmo problema e resolver de uma outra forma? Alguem sabe se existe forma de definir uma "pasta" como impressora onde os ficheiros fiquem retidos??? Obrigado Edited August 24, 2018 at 09:19 AM by Luis Andrade
nunopicado Posted August 24, 2018 at 11:16 AM Report #611658 Posted August 24, 2018 at 11:16 AM Podes adicionar uma impressora com as seguintes características: Driver: Generic / Text OnlyPorta: FILE Ao mandares imprimir, ela irá gerar um ficheiro com a extensão .prn do qual podes extrair a informação que precisas. Para o CSV de exemplo seguinte: 1,"Eldon Base for stackable storage shelf, platinum",Muhammed MacIntyre,3,-213.25,38.94,35,Nunavut,Storage & Organization,0.8 2,"1.7 Cubic Foot Compact ""Cube"" Office Refrigerators",Barry French,293,457.81,208.16,68.02,Nunavut,Appliances,0.58 3,"Cardinal Slant-D® Ring Binder, Heavy Gauge Vinyl",Barry French,293,46.71,8.69,2.99,Nunavut,Binders and Binder Accessories,0.39 4,R380,Clay Rozendal,483,1198.97,195.99,3.99,Nunavut,Telephones and Communication,0.58 5,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78,5.94,Nunavut,Appliances,0.5 6,G.E. Longer-Life Indoor Recessed Floodlight Bulbs,Carlos Soltero,515,4.43,6.64,4.95,Nunavut,Office Furnishings,0.37 7,"Angle-D Binders with Locking Rings, Label Holders",Carl Jackson,613,-54.04,7.3,7.72,Nunavut,Binders and Binder Accessories,0.38 8,"SAFCO Mobile Desk Side File, Wire Frame",Carl Jackson,613,127.70,42.76,6.22,Nunavut,Storage & Organization, 9,"SAFCO Commercial Wire Shelving, Black",Monica Federle,643,-695.26,138.14,35,Nunavut,Storage & Organization, 10,Xerox 198,Dorothy Badders,678,-226.36,4.98,8.33,Nunavut,Paper,0.38 O resultado é: 1 1,"Eldon Base for stackable storage shelf, platinum",Muhammed MacIntyre,3,-213.25,38.94,35,Nunavut,Storage & Organization,0.8 2 2,"1.7 Cubic Foot Compact ""Cube"" Office Refrigerators",Barry French,293,457.81,208.16,68.02,Nunavut,Appliances,0.58 3 3,"Cardinal Slant-D® Ring Binder, Heavy Gauge Vinyl",Barry French,293,46.71,8.69,2.99,Nunavut,Binders and Binder Accessories,0.39 4 4,R380,Clay Rozendal,483,1198.97,195.99,3.99,Nunavut,Telephones and Communication,0.58 5 5,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78,5.94,Nunavut,Appliances,0.5 6 6,G.E. Longer-Life Indoor Recessed Floodlight Bulbs,Carlos Soltero,515,4.43,6.64,4.95,Nunavut,Office Furnishings,0.37 7 7,"Angle-D Binders with Locking Rings, Label Holders",Carl Jackson,613,-54.04,7.3,7.72,Nunavut,Binders and Binder Accessories,0.38 8 8,"SAFCO Mobile Desk Side File, Wire Frame",Carl Jackson,613,127.70,42.76,6.22,Nunavut,Storage & Organization, 9 9,"SAFCO Commercial Wire Shelving, Black",Monica Federle,643,-695.26,138.14,35,Nunavut,Storage & Organization, 10 10,Xerox 198,Dorothy Badders,678,-226.36,4.98,8.33,Nunavut,Paper,0.38 11 O que é razoavelmente simples de extraíres a informação que necessitas! 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Luis Andrade Posted August 24, 2018 at 01:01 PM Author Report #611659 Posted August 24, 2018 at 01:01 PM Obrigado pela dica Nuno, mas assim o sistema não vai estar sempre a pedir o nome do ficheiro?
nunopicado Posted August 24, 2018 at 04:40 PM Report #611661 Posted August 24, 2018 at 04:40 PM Não me tinha apercebido que era para ser um processo regular e automatizado. Nesse caso, sim, ia estar sempre a pedir o nome. Mas sendo assim, há uma solução:https://sourceforge.net/projects/mfilemon/ Instalas esse software na máquina que faz a impressão. Depois de configurado, ele cria uma porta virtual para onde direccionas a impressora Generic / Text Only. Essa porta irá funcionar como a porta FILE: com a excepção que o nome do ficheiro é gerado automaticamente, de acordo com a configuração que fizeres, na pasta que quiseres e com o padrão que precisares. 😉 (1) (2) (3) (4) (5) "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
apocsantos Posted August 24, 2018 at 08:57 PM Report #611663 Posted August 24, 2018 at 08:57 PM Boa noite, Já apanhei alguns "gatos" assim, e sempre usei algum "truque" para resolver isso... Muitas vezes simplesmente criei uma impressora virtual genérica/text only e defini-a como default, para que o ficheiro fosse gerado para a impressora e gravado. Num caso em concreto, depois de saber onde o programa armazenava os ficheiros usei um filesystem watcher, para literalmente "detectar o ficheiro e criar uma cópia para outro lugar", assim sempre que era apagado, já existia uma cópia numa outra pasta. Qual o Database Engine da tal aplicação? Ou ela armazena ficheiros .dat proprietários ? Muitas vezes consegues chegar à BD, perdendo um pouco de tempo, sem ter de andar com impressões e afins... Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now