Giter Site home page Giter Site logo

ddiwrapper's Introduction

1. INTRODUCTION

ddiwrapper can load a Windows 2000/XP printer driver, feed bitmap data into
it, and produce printer code. It currently works well for most Canon inkjet
printer drivers. It uses WINE as a binary loader and for most of the Win32
API infrastructure.


2. QUICKSTART

This section will help you getting a working setup for printing to your
Windows-only printer via CUPS and the Windows XP printer driver.

a. Make sure you have a recent version of WINE installed. Anything released
after August 2004 should work fine.

b. Run "make && make install"

c. Get the Windows 2000 or XP driver archive for your printer from the
driver download section of the Canon web site of your choice.

d. Install the driver, preferably to /usr/share/ddiwrapper/drivers/default

  excanondriver <driver>.exe /usr/share/ddiwrapper/drivers/default

If you install it to a different directory, you will have to change the PPD
file accordingly before injecting it into the CUPS system. excanondriver
uses cabextract, unzip and recode, so make sure you have these installed.

e. Inject the PPD file into the CUPS system

  lpadmin -p ddiwrapper -v usb:/dev/usblp0 -P doc/ddiwrapper.ppd -E

This will create a printing queue called "ddiwrapper" that, if printed to,
will pipe PostScript input through GhostScript, ddiwrapper and the Windows
printer driver out to your USB printer. If you are using a graphical user
interface such as kprinter you can use it to choose paper format, paper
type, duplex mode and printing quality.

f. Finished. Now you should be able to print to your formerly unsupported
Canon printer through CUPS.


3. TESTED DRIVERS/PRINTERS

"Dry" testing means that I fed an input file into the driver and checked if
it produces output of sensible size and content. "Wet" testing means that I
have sent the output to an actual printer to check if it looks right.

								Tested
Name				Driver File		dry		wet
=======================================================================================
Canon BJC-85			b1cd_gex.exe		OK		untested
Canon BJC-2100 			b1a71gex.exe		OK		untested
Canon BJC-8500			b1ap1gex.exe		OK		untested
Canon CP-330			k4507dex.exe		fails to load
Canon i70			b3317mux.exe		OK		untested
Canon i80			b4301mux.exe		OK		OK
Canon i250			b3607mux.exe		OK		untested
Canon i320			b331cmux.exe		OK		untested
Canon i450			b3400mux.exe		OK		untested
Canon i475D			b4107mux.exe		OK		untested
Canon i550 			i550xp162aus.exe (US),	OK		untested
				b331bmux.exe (EU)
Canon i905D			b3a16mux.exe		OK		untested
Canon i6500			b3402mux.exe		OK		untested
Canon i9950			b4500mux.exe		OK		untested
Canon Pixma iP1500		b4902mux.exe		OK		untested
Canon Pixma iP3000		b4906mux.exe		OK		OK
Canon Pixma iP4000 [1]		b4908mux.exe		OK		OK
Canon Pixma iP8500		b4a05mux.exe		OK		untested
Canon S100			b1aq1gex.exe		OK		untested
Canon S800			b2518mux.exe		OK		untested
Canon S9000			b2a08mux.exe		OK		untested
Canon Selphy DS700		b4a14mux.exe		OK		untested

[1] tested by Daniel Zehetmayer


4. DEVELOPMENT

You are very much encouraged to enhance ddiwrapper in any way you see fit,
especially by adding support for non-Canon printers. Read the file
doc/HACKING for hints that may help you getting started.


5. CONTACT

Please send patches, patches, and patches to [email protected]. Please think very
hard before asking questions. If you still have questions after that, send
them to the same address.


CU
Uli

-------------------------------------------------------------------
Addendum from Hin-Tak Leung <[email protected]>:

1) 

For Wine releases between Feb/March 2006 up to time of writing
(April 2008), it is necessary to comment out one line in the wine loader
code to make ddiwrapper work:
====================================================
diff --git a/libs/wine/loader.c b/libs/wine/loader.c
index 0f05f0c..743d487 100644
--- a/libs/wine/loader.c
+++ b/libs/wine/loader.c
@@ -117,7 +117,7 @@ static void build_dll_path(void)
     if (dlldir)
     {
         dll_path_maxlen = strlen(dlldir);
-        dll_paths[nb_dll_paths++] = dlldir;
+        /* dll_paths[nb_dll_paths++] = dlldir; */
     }
     else if ((build_dir = wine_get_build_dir()))
     {
====================================================

2) ps2ddi can be driven on the command-line for testing
if these 5 environment variables are set:

    export DRIVER="/usr/share/ddiwrapper/drivers/default"
    export DUPLEX="simplex"
    export MEDIATYPE="standard"
    export PAPERSIZE="a4"
    export PRINTQUALITY="high"

(in a CUPS/Foomatic usage, these are set in the PPD file).

Good luck!

HTL 
-------------------------------------------------------------------

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.