File Coverage

lib/Printer/EVOLIS.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package Printer::EVOLIS;
2              
3 1     1   24054 use warnings;
  1         3  
  1         32  
4 1     1   4 use strict;
  1         2  
  1         60  
5              
6             =head1 NAME
7              
8             Printer::EVOLIS - pixel-exact driver for EVOLIS Dualys two-side card printer in perl
9              
10             =cut
11              
12             our $VERSION = '0.01';
13              
14             =head1 DESCRIPTION
15              
16             This is experimental support for EVOLIS Dualys 3 printer with black ribbon (K)
17             to provide pixel-exact driver with support for two-side printing.
18              
19             Existing cups driver is available at
20              
21             L
22              
23             but I haven't been able to make it print on both sides of cards,
24             partly because using dumplex option in cups seems to segfault GhostScript
25             and/or C cups filter depending on combination of duplex
26             options.
27              
28             I also needed pixel perfect transfer to printer, and cups
29             bitmap format is always in color, leaving final pixel modifications down
30             to cups filter which always produced differences between file sent to
31             printer and perfect black and white rendition of it.
32              
33             =head1 SCRIPTS
34              
35             Current toolset consists of following scripts:
36              
37             =head2 scripts/inkscape-render.pl card/template.svg 201008159999 login Name Surname
38              
39             Generate pdf files from Inkscape SVG template in C using
40             C and C object IDs. Layers doesn't work
41             since we can't toggle visilbity easily. To print more than one
42             object gruop them and change ID of group.
43              
44             After pdf files are created, GhostScript is used to rasterize them
45             into pbm (monochrome) bitmaps.
46              
47             =head2 scripts/evolis-driver.pl front.pbm back.pbm > evolis.commands
48              
49             Provides driver which generates printer command stream to print
50             two-sided card from pbm files.
51              
52             =head2 scripts/evolis-simulator.pl evolis
53              
54             Simulator for EVOLIS printer commands which is useful for development.
55             It creates one pbm file per page printed.
56              
57             =head2 scripts/evolis-command.pl
58              
59             Command-line interface to send commands to printer and receive responses.
60             Supports readline for editing and history.
61             Requires local parallel port connection, probably to USB parallel device.
62              
63             =head1 EXAMPLE
64              
65             Following is simple walk-through from svg image in Inkscape to
66             evolis command stream which can be executed in top-level directory
67             of this distribution:
68              
69             ./scripts/inkscape-render.pl card/ffzg-2010.svg 201008159999 Ime Prezime
70             ./scripts/evolis-driver.pl out/201008159999.front.pbm out/201008159999.back.pbm > evolis
71             ./scripts/evolis-simulator.pl evolis
72             qiv evolis*.pbm
73              
74             =cut