Haiku Printing

Recently I purchased an Epson printer which is supported by the Gutenprint print drivers. However, I have noted a few anomalies and need to know where to direct my bug reports. Does the problem lie with the Gutenprint developers or with Haiku?
There are three issues which manifested themselves immediately.

  1. You cannot print a PDF document - error: no document to print
  2. Text documents have overlapping text
  3. The printer test page is not correct. It is better in Alpha 4.1 than with the current nightly.
    Is this a regression in Haiku printing?

The PDF Writer driver is used for ‘printing’ documents to PDF files and NOT for printing PDF files on a real printer.

I played with the code some time ago and tried to port it to use libharu instead of pdflib.
Libharu has a really nice API but is missing some of the features that pdflib has.

If everything worked better in Alpha 4.1, then yes, this is a regression and should be reported as such.

  1. Printing a PDF file doesn’t work in Alpha 4.1 or in the latest nightly. So, not a regression, but definitely something that should be fixed. What good is an office suite if you can’t properly print the documents?

  2. I did not try printing a text file from Alpha 4.1, but will do so tonight and report back.
    We need to get BeatWare Write working in Haiku so we have at least one decent word processor.

  3. The printer test page is definitely a regression of some sort - half of the text is cut off and no color. However, plenty of color when printing a web page.

How much of this is in Haiku’s scope? Should any of this be reported to the Gutenprint developers?

Given that Gutenprint is a mature software and Haiku printing system isn’t even remotely tested often enough I would assume that these are Haiku problems.

Yes, most of the problems are in Haiku side. If you try using the PDF printer, which isn’t Gutenprint based, you will see that most of the problems are visible there as well (and possibly even more).

One of the problems is incomplete implementation of BPicture, which leads to some drawing operations in printed documents simply going missing from the output (one example is gradients, but there are more). I think Jua will be working on this in his app_server optimization branch.

Even when we get BPicture right, there is still the problem that each driver must "play" the BPicture and get the result into a format suitable for the printer. Basically this means the driver must implement all the drawing itself just like app_server does for the screen: drawing lines, gradients, texts, transforms, etc. And unfortunately, most of our drivers aren't doing the complete thing yet, which gives some unexpected results.

So, Gutenprint is probably ok, the problem is that too many things get lost in translation between the drawing commands the software sends, and what we ultimately feed gutenprint with. Some cases work better because the software just sends an already rendered bitmap, which is the easy case.

Thanks for the clarification. At least now I know where to direct any future bug reports. My last Haiku printer, a Canon Pixma MP170, never did work. I believe it was my first Haiku bug report. Unfortunately, nobody tried to address the printing problem until many months after I had disposed of the machine, so any chance to perhaps improve printing support for Canon units was lost.
My current Epson unit does work, so at least I have a supported unit with which to begin testing.

Hmm, I've had no problems printing using the PCL-based driver with network printing in Haiku in the past. Perhaps if your printer is capable of being setup as a network printer, this may be a viable option?

I've never used the Gutenprint drivers myself, so can't comment. Of course, getting them working should still be big on the list. I do notice that the PDF Writer driver seems to exhibit similar problems though... will be interesting to know if the PDF Writer generated a correct test page PDF in earlier builds of Haiku.

+1 although I don’t recall Beatware opensourcing Write when they did give us Sum-it.

But whether it is Write, Productive or something completely new, the lack of a native, reliable office suite is what stops me from running Haiku as my main OS. There are okayish QT ports of Rich Text editors. There is an old version of thinkfree (when openjdk is working). But a proper, industrial-strength word processor is simply too big a gap to pass over.

As for printing, I just mail the pdfs to my Mac and print from that. But ever more rarely these days. I would appreciate good scanner support more: on my other computer I use the scanner almost every day and the printer part once a week. The flow of data is into the computer, not out of it.

To see if the root issue is BPicture implementation, try to print to a Preview pseudo printer.
If the output is wrong, it means BPicture implementation is the culprid here, either when recording or playing it. Probably both.

One issue here is gradiant, indeed.
The test page for instance have several gradiants that you won’t see in Preview window, but only in the internal debug window, not shown without Printers preflet recompilation.
See http://cgit.haiku-os.org/haiku/tree/src/preferences/printers/PrintersWindow.cpp#n54
Adding a MoveToScreen(); call nearby will do it I guess.

Other issues IIRC where related to layouting not handled as expected by BPrintJob, leading to missplacement or wrong clipping. Dunno if it was fixed since my last commit regarding test page…

This is nice. I’ve been away from Haiku for awhile, and didn’t even know that printing had become a functional feature. This is great news, even if there are (still) a few wrinkles left to iron.

Before I go ahead and spend $200 or $300 on Epson ink cartridges I would like to have at least some assurance that one of the developers will actually take the time to look into Haiku printing issues within a reasonable time frame of being reported - not months or years.
Gutenprint mainly supports Epson and Canon printers, and since they are readily available and fairly inexpensive, I am willing to purchase a Haiku supported Canon printer as well for testing.
Is there any possibility that somebody can look into getting the BeatWare Write word processor working in Haiku (ticket #9638)?

Printing a PDF document from BePDF does work after playing with various settings. The “trick” is in the PrintJob Setup dialog. If “Print All Pages” is selected, it will return an error message “No pages to print”. If “Print Selected Pages” is selected and a page range is set, then it will print. I don’t know if this is a bug in BePDF or in the Haiku printer setup. If it is a Haiku issue, then I will open a ticket for it.

The Haiku printer test page is bung. Text is blocked out and no color. I found a printer test page in PDF format that works so much better. I wonder if using this PDF printer test page is feasible.

The current test page is supposed to have gradients and I think also color text. It does a great job at testing the broken parts of the print support, which is why the result does not look very good…


Since your the only developer to respond, I guess that means you are “volunteering”? :wink:

I’m not sure if my printer is supported, and I didn’t need it often enough to try yet. And I have a lot of other things to do already …

A lot of the devs are not following the forums. You have better chances of reaching to them on the bugtracker, where you can also submit enhancement requests for things that are not strictly bugs.

I recently purchased a second printer for testing on Haiku. Again, it is an Epson; this time a model XP-820.
Since it not officially supported by Gutenprint, I had to try each Epson driver in succession until I found one that worked with this printer. In this particular case the PX 7V driver did the trick. Some colour correction was required when printing a test page, but overall the result wasn’t too bad.
The flatbed scanner is also supported by Haiku using the SANE_backends package and SANITY GUI.
Now, if we could find a way to scan to PDF…

Now, if we could find a way to scan to PDF…

Directly, you mean?

Currently, the PDFTranslator (available on Haiku Depot) only support PDF -> image translate, not the reverse. Maybe you could convince its developer to add image -> PDF support too?

Meanwhile, indirectly you can print your image(s) into a PDF document, though.

If you are going to spend that much on cartridges… why not just get an Epson tank based printer!?

My mother got one for Christmas and we’ve printed tones of photos on it… on glossy paper (over 2000 at this point) and barely knocked a dent in the ink.

While enhancements are desired, I think getting the basic functionality working properly should come first.
IPP is currently broken (did it ever work?) and the printer test page is also not working properly.
I have the hardware to test, if anybody wants to try fixing what’s broken.