A computer printer is a piece of hardware for a computer. It allows a user to print items on paper, such as letters and pictures. Usually a printer prints under the control of a computer. Many can also work as a photocopier or with a digital camera to print directly without using a computer.

Types of printers 
Today, the following types of printers are in regular use:
 Inkjet printers, also sometimes called bubble jet printers throw colored ink onto a paper.
 Plotters are large format inkjet printers, or printers that use special pens.
 Laser printers transfer tiny particles of toner onto the paper. Most do not print colors. 
 Dye sublimation printers produce very high quality images. Three colors are used. Cyan, Magenta and Yellow. Each color is printed one at a time from cellophane sheets. The image is the sealed with an clear top layer. Some small photographic printers made by Kodak and Canon use this process.
 Thermal printer is an inexpensive printer that works by pushing heated pins against heat-sensitive paper. Thermal printers are widely used in calculators and fax machines. Many 20th century computer printers worked this way.
 Impact printers worked by striking the paper with an inked ribbon. They were noisy.
Dot-matrix printers are now almost extinct. There were models with 9 pins and models with 24 pins.
 Daisy Wheel printers were a typewriter printer. Results looked hand-typed. They had no real graphics and were very loud. Few were made in the 21st century.
 Line printers contain a chain of characters or pins that print an entire line at one time. Line printers are very fast, but produce low-quality print.

Producing output 
Printers are programmed using a programming language. The printer interprets the program, and the outputs the result. There are two big classes of such languages: Page description languages, and Printer Control languages. A page description language describes what a page should look like. The program in a page description language is sent to the printer, which interprets them. Printer command languages are at a lower level than Page description languages, they contain information that is specific to the printer model. 

Common programming languages for printers include:
 ESC/P
 Postscript
 PCL
 GDI
 HPGL and HPGL/2
 PDF
 VPS

Cost of printers
When comparing the cost of a printer, people often talk about how expensive it is to print one page. This cost usually has three components:
 The cost of the printer, how expensive it was to buy the printer
 The cost of the consumable; the printer needs supplies (called toner, ink, or ribbon) to print
 The cost of the paper; some printers can only print on special paper
Printers that are more expensive to buy will usually be less expensive in the consumables (the ink, toner, or ribbon used by the printer).  Therefore, laser printers are often more expensive to buy than inkjet printers, but are not as expensive to use over a long period of time.  Inkjet printers on the other hand cost more to use because the ink tanks they use are more expensive than the toner for a laser printer. 

Laser printers that can print in color are usually more expensive than those that only print in black and white.  Some expensive printers can do other things such as print on both sides of the paper, automatically sort the output, or staple the pages.

Printers