|
||||||
| C and C++ C and C++ forum for discussing all forms of C except for C#. These languages are powerful low level languages used for creating Operating Systems, Device Drivers, compilers and much more. |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|||
|
I want to be able to control the print head of a Canon PIXMA iP5000 (inkjet) for printing.
This printer has the finest resolution of any I.J. Printer made and it is this resolution I need to be able to utilise and control. I do have access to Cannon's Official Printer programing codes should they be required. Can anyone assist please. |
| Sponsored Links |
|
|
|
|||
|
Thank you for that information I have done as you advised and am now waiting for a reply.
Given the number of Programers reading this site and even the number who have read this posting, I am suprised at just how difficult this one is turning out to be. Is Printing a particularly difficult and rare specialism, do you know? |
|
|||
|
It is the Ink jets I want to be able to control. I want to be able to get a single jet on a single colour to print a single line either horizontally or vertically or both. The lines would be graphically drawn rather than text.
One jet on this printer will produce a single dot of one picolitre in size and it is this smallness that is needed to produce the line. |
| Sponsored Links |
|
|
|
|||||
|
Actually, the Graphics object doesn't provide ANY WAYS TO PRINT TEXT AT ALL! You can only draw, not print!
In case you aren't familiar with what I'm talking about, you are given a Graphics object. This represents the surface of the paper. It is given in the form e.Graphics (e being the event parameters). There are methods built into it such as DrawRectangle() and DrawLine(). If you want to print text, you use DrawString(), but you have to to pass in data such as the text, font, colour, and position. I'm not sure about how big picolitres are, but you can definitely draw a line of a width of 1 pixel (which is pretty thin). I'm not sure if there's a DrawLine() method (I think there is), but if there is, you can just pass in the two coordinates, and it will print the line out for you. If this is what you are looking for, and you need more info, just ask. Last edited by Xav; 04-11-2008 at 02:46 PM. |
|
|||
|
Thank you for that information that is helpful.
A picolitre is very small. Most of the finest inkjet printers are 4 picolitres and some smaller ones are 2.5 picolitres. It is combined with a resolution of 9,600 x 2,400 and gives 23,040,000 dots per sq.in. In contrast a 2.5 picolitre printer will only give 3,317,760 dots per sq.in. This and the 4 picolitre printer, are the printers most people use for their photos. So you can see there is a major difference between 23,040,000 and 3,317,760. It is therefore, extremely fine. The problem is, using graphics in say PSP or Phorshop the finest line at the highest pixel resolution will still produce a line that is about 70 to 80 picolitres thick, when examined under a microscope, and I need to be able to produce a single line that is 1 picolitre thick i.e one inkjet output hole only is dispensing single droplets of ink. The main problem is that the printer insists upon using as many inkjet holes as possible to dispense 1 picolitre droplets of all colours even when all other colours, apart from one, are all set to zero. The consequence is, that a 'fine line' is not a fine line, because it is not a single inkjet fine line. The point here is that within the Restricted Programing pdf files that Canon have provided from their developer support group, I cannot find a code that controls the print head. That doesn't mean there isn't one or more than one (i.e. for each colour output jet, as I would expect), it probably means I am just not recognising the code/s to be used. In answer to your last question, If this is what you are looking for, and you need for info, just ask. Yes it is. |
|
|||||
|
I'm sorry, I can't think of a way to force your printer to print just one inkjet hole. Maybe you could get one done professionally or something.
You see, although it is nice to be able to manually control the printer using its API, it could potentially be dangerous to give a programmer THAT much control over the exact usage of the cartridges - if there was a bug with the program, your printer could be seriously damaged. Therefore, companies don't tend to allow this sort of complete control. Maybe if you can't find the control code for the individual inkjet hole, it can't be done. Have you considered that perhaps the printer itself controls which holes to use? It's just a thought, but possibly the computer sends the print content to the printer, and the printer itself decided how to print it. Remember, every printer is difficult, so the computer cannot just send data that is only specific to one type of printer. It probably just sends the data needed to print, then the printer, which knows how its insides work, works out how to put the design down on paper. I'm sorry you can't find what you're looking for, but as I said, you might be able to buy ready-made paper from specialist stores, with a fine line already printed on it. Good luck! Xav ![]() |
|
|||
|
Having examined the developer codes Canon supply and there are around 300+ covering incredibly intricate parameters, such as the distance of the paper from the printhead. I believe there are specific codes there that could be used to good effect, but Printer programing knowledge is called for in order to recognise what to use where.
As to the ready made solution , that I am afraid is just not possible, because this is needed for intricate technical drawings at a microscopic scale. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Disable ActiveX control with Javascript | gszauer | Javascript | 1 | 12-21-2007 02:21 PM |
| Adding MSCOMM control to Visual C++ Application | ifitzgerald | C and C++ | 2 | 09-14-2007 11:05 AM |
| Printer control through Parallel | fargo_182 | General Programming | 0 | 09-04-2007 11:58 PM |
| Custom Control | McMillan0520 | C# Programming | 0 | 08-08-2007 11:12 AM |
| Standards without control? | martinig | General Programming | 3 | 01-18-2007 10:57 AM |
| WingedPanther | ........ | 2753.6 |
| Xav | ........ | 2704 |
| Brandon W | ........ | 1702.32 |
| John | ........ | 1207.73 |
| marwex89 | ........ | 1175.24 |
| morefood2001 | ........ | 966.05 |
| dcs | ........ | 655.75 |
| Steve.L | ........ | 475.59 |
| orjan | ........ | 418.58 |
| Aereshaa | ........ | 383.54 |