Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Linux Software

ID Card Printing Under Linux? 29

peng1can asks: "I'm searching for a way to print ID cards in a an LDAP and preferably open source environment. We use LDAP heavily, and ideally we want to be able to pull user information and photos from LDAP and print onto ID Cards. Thus far, I've come up against two roadblocks: 1) Trying to make the ID station work under linux would be great, especially if I can script gphoto. But, I can't find an ID-card printer that doesn't supply windows-only drivers. The closest thing I can find is that Eltron provides a programming manual for their printers, but I have no knowledge of how to write a CUPS/LPRng printer driver. 2) If we had to resort to a Win-based workstation, I can find no method for accessing LDAP in a way that would work with an ID card system without spending thousands of dollars per station on an LDAP/ODBC gateway. I could try to write something in PERL for Win32, but can't find a way to control a digital camera that way. Any suggestions would be greatly appreciated."
This discussion has been archived. No new comments can be posted.

ID Card Printing Under Linux?

Comments Filter:
  • by crazeded ( 560678 ) on Tuesday June 18, 2002 @11:56PM (#3726916)
    I know (from experience) that the old DataCard printers (ImageCard I/II+/III series) use PostScript. The drivers are, of course, Windows-only... but I suspect with a little work they could be made to work with ghostscript or something like that. Really out of my league though, printing is never something I've tried under Linux.

    If you do go looking for DataCard printers, the best source is to scan eBay periodically -- the dealers which specialize in older printers will charge an arm, leg, and probably a few other things as well. Stay far away from them, and stick to auctions and such.

    Hope this helps you out!

  • Laminate (Score:2, Insightful)

    by iammichael ( 90526 )

    Buy some kind of cheap color printer that works under Linux (most mainstream printers will probably work).

    Buy a pair of scissors.

    Buy a lamination machine with some ID sized laminating sleeves.

    Print. Cut. Laminate.

    I don't know how often you'll be making IDs, but if you're willing to buy one of those id making machines, it's probably still cheaper to pay some student a cheap wage to handle the paper cutting and laminating than it would be to have the machine do it for you.
    • Wow (Score:1, Flamebait)

      by redhotchil ( 44670 )
      Keep that spirit of ineficiency with Linux up and running. Screw cron, just pay a student to sit there with a stop watch and a terminal.
    • This is how I do it... my ID card generating app is a simple web app, so it's platform agnostic.

      Depends I suppose how many you are printing...

      How much would it cost you to hire a printer driver programmer to knock one up for you?
    • Re:Laminate (Score:2, Informative)

      by Can ( 21457 )
      Guess I should have said that we're doing 1000+ cards per year, and we need to be able to add magstripes to the cards. So, lamination won't really work. :-(

      Thanks for the suggestion, though.
    • In addition to the magnetic strips mentioned in one of the other replies, some cards have RFID chips embedded into them. Thus, to get into a building, you don't have to swipe the card, you just hold it close to a sensor. Much more reliable than magstripes, and a bit more convenient.

      Neither will work with a cheapo lamination system.
      • Much more reliable than magstripes, and a bit more convenient.


        But vastly more insecure. Anyone can read the ID off your card and retransmit it. There is no encryption in the communication protocol. At least magstripes can only be read at extremely close range.

    • The trouble with laminating an inkjet print is that anyone can do it. The idea of a badge printer is that it's a specialized piece of equipment that prints directly on plastic. It makes the badges harder to forge. Sure, the classic rich and determined attacker probably can get a badge printer, but the average dipwad won't bother. It's like the anti-counterfeiting gizmos in currency that stops you from making convincing $100 bills in an ordinary xerox machine. It's not foolproof, but it raises the bar of entry and shuts out a lot of riff-raff.
  • From the windows machine, you can query LDAP directly using ADSI OLE DB provider, or the OLEDB LDAP driver.

    ie, you can do this:
    'SELECT attribute1, attribute2 FROM "LDAP://Servern:port" WHERE blah = "Person" AND Class= "user"'
    You can use SQL dialect or LDAP type dialect.

    You don't have to get into hooking up your LDAP servers into Active Directory. 3 years ago I was using OLEDB to query Netscape Enterprise LDAP servers.Works the same as if you're querying Active Directory.

    Also, with SQL 7x and greater, you can 'link' to a LDAP server, and then hit it like an other SQL Data source.
  • In one of my jobs, I worked with a Fargo ID card printer... and I found that even on Windows the drivers were shaky. As far as I know, no ID card printer provides drivers for any platforms other than Mac and Win, so it's pretty much between one of those two that you've got to choose.

    I'm curious: what's your reason for wanting to control the digital camera with a computer? Personally I would just mount it on a tripod and take the shot manually.

    The only reason I can think of (that you might computer-control) is for focusing, that is, through an image on a monitor rather than squinting at the digicam's 1.8" LCD. But digicams don't have that ability anyway (not that I know of, unless you switch into video mode). For that, what my school did at its ID card printing center was to get some DV video cameras (with stills capability) and fed live the video live into computers. Seems overkill to me, frankly.

    Also, I'm not sure what your requirements are exactly, but LDAP access is QED (quite easily done) with the right modules [cpan.org].

    • Every ID I've ever had made used a camera where the movement and zoom were controlled by the computer and the picture was a frame pulled from the video stream.
    • I'm curious: what's your reason for wanting to control the digital camera with a computer?

      BTW, this is a "free idea" for those wanting to go into business on it:

      Imagine that you had this "kiosk" type device, perhaps set up in a small room. The device has a "fixed focus" (ie 3ft to infinity), high resolution digital camera on a controllable pan/tilt mount. Imagine that it is all in a nice "self contained" housing, with only the camera facing the wall, and maybe a small monitor or display of some sort on the kiosk.

      At the wall, which is painted white, is a spot aligned with the camera, and on the floor is a "pad", also aligned, that has two "feet marks". The pad is a pressure sensitive switch.

      Need to make an ID card for the user?

      Tell him/her to go into the room, and stand on the "feet marks", facing the camera. The computer would "aim" the camera using the pan/tilt mount to align the head and shoulders area of the person up with a "bit mask", until the majority filled the bit mask, signifying that the image was mostly centered (maybe have lights on the front of the camera kiosk, or display on the monitor - red for alignment, yellow for get ready, green for taking picture). The picture would then be taken, and the person would exit the room - the image would go into a database (card ID, picture), whoever was issuing the card would enter in other info as needed (guest, temporary worker, permanent worker, name, age, etc), then the card would be printed with the picture and whatever other info (for mag stripe, etc) and given to the individual.

      It would be an almost completely automated, turnkey ID card generation system. I bet if you made the kiosk system slick enough, you could sell it for big $$$.

      Actually, considering how easy this sounds - I bet it has already been done...
  • PPD files (Score:3, Informative)

    by larien ( 5608 ) on Wednesday June 19, 2002 @04:11AM (#3727560) Homepage Journal
    If you have a windows driver with a PPD file, drop that into /usr/share/cups/model and restart cups. You can use that as a driver.
  • 1) Hire someone who can write the CUPS/LPRng drivers.
    2) Release them under the GPL.
    3) Make your ID cards.
  • Why try and reinvent the wheel. You can use something like gqcam vidcat or any number of other programs for grabbing the image without having to build out a capture interface into a perl script. Check out freshmeat.net for other programs that might fit what your looking for. Try checking if the id card printer support PS or PCL this way you may be able to get away without chaving a specific driver for the printer.
    • What you outline above is what I have in mind. The PS/PCL support is the problem. I can't find a printer anywhere that seems to support any kind of printing "standard" except "we give you windows drivers."
  • Just a thought. Why don't you use postgresql or mysql and dump only the needed data into a database and use the ODBC drivers to pull into your ID printer?

    I've used access to dump data from a foxpro database (Wind2 FMS) into and postgresql database so that uses could do reports. All you would need to do is to use some perl/java/etc to dump the data from your LDAP source into your database. Then use the ODBC drivers to pull data into the ID app. It's kind of a kludge but it should work no problems, but not as nice as being able to pull them in directly
  • If you are happy with any unix; both BSDi and SCO have long supported such things commercially. Open source wise: I've found that a fair share of the printers are either normal postscript or basically accept old fashioned Epson FX80, MX80 or RX80 escape sequences. Some more modern printers do HP Deskjet. In my experience they virtually ALL support some form of templating; whcih you set up once. And from thereon you pipe message to the printer like 'Name\nAddress\n' which are filled out in the right places. This also applies for the hard mag strip. I've used the first method with LPR and ghostscript. The latter method is 'harder' - though LPR does support a lot of templating; I've always found it easier to write some custom code to directly send the raw data to LPR. Dw
  • I've messed around with the Eltron label printers before, and they're simple to print to in Linux. Here [eltroncards.com] are the manuals (including programming manuals) for the card printers.

    They simply take clear text commands via parallel or serial ports that can be scripted easily in your favorite dialect. I actually wrote my stuff in C, sending the commands out the serial port. I'm sure there are other interfaces too, but parallel and serial are so simple.

    No Windows drivers are needed. No CUPS/LPRng drivers are needed.

You have a message from the operator.

Working...