nett_fan Posted October 12, 2013 at 09:16 PM Report #528689 Posted October 12, 2013 at 09:16 PM ola a todos. este é o meu 1 post nesta comunidade. a razão deste post é que eu preciso da vossa ajuda. preciso de desenvolver uma aplicação windows em c# para leitura dos dados gravados no cartao do cidadão. E na verdade andi bastante perdido. ja vi exemplos na net , tais como , http://www.codeproject.com/Articles/16653/A-Smart-Card-Framework-for-NET e a bibiolteca winscard, mas nao sei se consigo o que pretendo. Andei a ler aqui no site, e o que preciso é a vossa orientação sobre o caminho a seguir. Li algo sobre a necessidade a instalação do Middleware do Cartão de Cidadão. mas essa questão eu tenho de descartar, necessidades do projecto. Sera que nao existe uma dll em c# ou penso que se for noutra linguagem sera possivel fazer o pinvoke como é referido neste exemplo: http://www.moythreads.com/wordpress/2008/02/04/pinvoke-how-to-call-c-from-c/ agradecia a vossa ajuda nesta minha tarefa.
Waterlog Posted October 13, 2013 at 04:57 PM Report #528775 Posted October 13, 2013 at 04:57 PM Fácil. O Middleware é obrigatório, pelo que o tens de instalar. Depois tens de usar o eIDPT(http://cartaodecidadao.codeplex.com/). DLL: https://mega.co.nz/#!dwUlyAwb!TJadFRL2VSMY1DAeaPSUjwRx00YEBsuIK1EQLn87tC8 Deixo-te aqui um pouco de um código meu: public void GetInfoFromCard(int getAddress) { try { if (getAddress == 0) { SCWatcher scwatcher = SCWatcher.GetInstance(); scwatcher.Start(); string[] readers = scwatcher.ListReaders(); EIDPT.Init(readers[0]); EIDPT.SetSODChecking(false); Id id = EIDPT.GetID(); Picture picture = EIDPT.GetPicture(); MemoryStream ms = new MemoryStream(picture.Bytes, 0, picture.BytesLength, false); Image image = CSJ2K.J2kImage.FromStream(ms); image.Save(@"fotos\" + id.NIF + ".jpeg"); ms.Close(); firstName = id.FirstName; lastName = id.Name; firstNameFather = id.FirstNameFather; lastNameFather = id.NameFather; firstNameMother = id.FirstNameMother; lastNameMother = id.NameMother; txtName.Text = Classes.Methods.UppercaseFirstLetter(id.FirstName) + " " + Classes.Methods.UppercaseFirstLetter(id.Name); txtSex.Text = id.Sex; txtBirthday.Text = id.BirthDate; txtID.Text = id.BI; txtFatherName.Text = id.FirstNameFather + " " + id.NameFather; txtMotherName.Text = id.FirstNameMother + " " + id.NameMother; txtTax.Text = id.NIF; txtSocialSecurity.Text = id.NSS; pbPhoto.Image = image; } else { SCWatcher scwatcher = SCWatcher.GetInstance(); scwatcher.Start(); string[] readers = scwatcher.ListReaders(); EIDPT.Init(readers[0]); EIDPT.SetSODChecking(false); Id id = EIDPT.GetID(); Picture picture = EIDPT.GetPicture(); Address address = EIDPT.GetAddress(); MemoryStream ms = new MemoryStream(picture.Bytes, 0, picture.BytesLength, false); Image image = CSJ2K.J2kImage.FromStream(ms); image.Save(@"fotos\" + id.NIF + ".jpeg"); ms.Close(); firstName = id.FirstName; lastName = id.Name; firstNameFather = id.FirstNameFather; lastNameFather = id.NameFather; firstNameMother = id.FirstNameMother; lastNameMother = id.NameMother; txtName.Text = id.FirstName + " " + id.Name; txtSex.Text = id.Sex; txtBirthday.Text = id.BirthDate; txtID.Text = id.BI; txtFatherName.Text = id.FirstNameFather + " " + id.NameFather; txtMotherName.Text = id.FirstNameMother + " " + id.NameMother; txtTax.Text = id.NIF; txtSocialSecurity.Text = id.NSS; pbPhoto.Image = image; txtDistrict.Text = address.DistrictDescription; txtMunicipality.Text = address.MunicipalityDescription; txtCivilParish.Text = address.FreguesiaDescription; txtAddress.Text = address.StreetType + " " + address.Street + " Nº " + address.Door; txtLocality.Text = address.Locality; txtZip.Text = address.CP4 + "-" + address.CP3 + " " + address.Postal; } EIDPT.Exit(ExitMode.LEAVE_CARD); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 1 Report
RYZ Posted November 30, 2013 at 01:27 AM Report #535699 Posted November 30, 2013 at 01:27 AM Boa noite! Ainda sou bastante leigo nestas andanças mas é uma area que me interessa bastante... Amigo Waterlog, estou a fazer uma aplicação em c#, em que tens um form e carregas num botão e surge outro form com nome e numero do cartao de cidadão preenchidos... conseguemes ajudar? Podes enviar me o teu codigo na totalidade pois estou com algumas dificuldades em compilar essa parte.? Ficava te muito grato mesmo se me puderes ajudar.. abraços!
jbscoelho Posted November 27, 2015 at 02:59 PM Report #590143 Posted November 27, 2015 at 02:59 PM Fácil. O Middleware é obrigatório, pelo que o tens de instalar. Depois tens de usar o eIDPT(http://cartaodecidadao.codeplex.com/). DLL: https://mega.co.nz/#!dwUlyAwb!TJadFRL2VSMY1DAeaPSUjwRx00YEBsuIK1EQLn87tC8 Olá, Ando às voltas com o desenvolvimento de uma aplicação que faz leitura do Cartão de cidadão usando eIDPT, mas o meu problema tem a ver com sistemas operativas de 64 bits. Não consigo por o projecto a fucnionar de forma alguma, já que com o middleware de 64 bits depois dá sempre erro com a minha dll eIDPT. Tens alguma ideia? Abraço. Bruno Coelho Jorge Bruno Coelho Product Owner | Business Analyst | Coach
bosnia Posted November 27, 2015 at 04:54 PM Report #590146 Posted November 27, 2015 at 04:54 PM boas tens de sacar o versão para o windows e depois usares o codigo que o te foi mostrado antes. tens de ter os varios campos na form apos isso chamas os valores lidos pelo cc
irocha Posted April 8, 2016 at 02:57 PM Report #595039 Posted April 8, 2016 at 02:57 PM Boas, Alguém obteve este erro com a solução disponibilizada? "A procedure imported by 'eidpt.dll' could not be loaded.". Já experimentámos 1001 maneiras e não encontramos solução.
pedro barreiro Posted June 7, 2016 at 02:08 PM Report #596978 Posted June 7, 2016 at 02:08 PM Boa tarde ,alguem interessado em exemplo em delphi(neste caso delphi 6), a funcionar com a Middleware de Janeiro de 2016? enviar :barreiro_pedro@outlook.pt
rmpt Posted May 2, 2017 at 02:59 PM Report #603907 Posted May 2, 2017 at 02:59 PM Vejam a minha solução no link abaixo, espero que ajude. Projecto para leitura de dados de cartão de cidadão C# 1 Report
rmpt Posted March 9, 2023 at 10:35 PM Report #630373 Posted March 9, 2023 at 10:35 PM Boas, este post está parado há algum tempo, mas deixo na mesma o link para uma nova versão da solução que tinha partilhado há uns tempos. É um servidor HTTP que permite ler os dados do cartão de cidadão a partir de qualquer cliente http (browser ou outro cliente), funciona em qualquer sistema operativo e apenas requer ter o java instalado. A quem interessar, pode dar uma olhada aqui: https://github.com/rmpt/citizen-card-reader 1 Report
janota Posted August 13, 2024 at 04:06 PM Report #633404 Posted August 13, 2024 at 04:06 PM Olá, Tenho uma solução baseada em código partilhado aqui em C#, já há alguns anos a funcionar. Sempre que saía alguma atualização do midleware por vezes erra necessário recompilar o projeto com as novas dlls fornecidas pela AMA, contudo neste momento não estou a conseguir ler os dados com os novos cartões de cidadão. Alguem pode ajudar? Obd.
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