tilingPatternFill in PSOutputDev uses Type 3 fonts to output a PDF tiling pattern. This is fine for PS Level 1 but for PS Level 2 or higher it is more optimal to use PostScript patterns. One problem with using Type 3 fonts for PDF tiling patterns is if the PS is converted back to PDF, some PDF viewers (including acroead) do not display the patterns. https://bugs.launchpad.net/ubuntu/+source/ghostscript/+bug/817049
Created attachment 50197 [details] [review] output tiling patterns ising PS patterns This patch makes PSOutputDev::tilingPatternFill output a PS Pattern when the PS level is 2 or higher.
Created attachment 50198 [details] [review] don't use patterns when only one instance is used This optimization avoids the use of PS patterns or Type 3 fonts when the only one copy of the pattern used to fill the clip region. This make webpages containing images printed with firefox to print faster on my printer.
Can you please attach a pdf file that shows the need of this change?
Created attachment 50285 [details] print output from firefox Attached is sample print output from firefox (firefox now prints to CUPS in PDF format). The problem can be reproduced by printing from firefox to CUPS-PDF. The equivalent manual steps are to convert to firefox PDF to PS with pdftops then back to PDF with ps2pdf. Then view the resulting PDF in evince and acroread. The second patch also fixes a printing this PDF to a Brother HL-5350DN (PS error instead of the page content). The problem appears to be the HL-5350DN doesn't like images inside a procedure - either in Type 3 fonts or Patterns. I haven't been able to work out yet if it is a bug in the printer or the pdftops output.
Created attachment 50286 [details] output PDF This is the PDF file resulting from: pdftops firefox.pdf ps2pdf firefox.ps firefox2.pdf When viewed in evince or acroread the images are black.
Will be there in poppler >= 0.17.3
In Ubuntu (Oneiric, 11.10) we are using Poppler 0.16.7. Can one of you, Adrian or Albert, backport the patches to Poppler 0.16.7? Thanks.
The 0.16.x branch is dead, sorry.
Till, the patches are a60e61ac and 7741b24d. I don't think the code they touch has changed in the last few months so I suggest trying the patches with 0.16.7 to see if they work.
I have looked through the patch and there are really changes (introduction of cat and pmat arguments to the tilingPatternFill() function), but I succeeded to backport the patch and it leads to the desired fix. Thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.