Review Request 130055: Do not convert to ps for printing---at least sometimes

Oliver Sander oliver.sander at tu-dresden.de
Tue Apr 4 13:44:50 UTC 2017


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/130055/
-----------------------------------------------------------

(Updated April 4, 2017, 1:44 p.m.)


Review request for Okular.


Changes
-------

Don't claim that the output of rasterized printing is always greyscale.  That was my mistake: I simply had the 'greyscale' option selected by accident.  Rasterized color printing does work as expected.


Repository: okular


Description (updated)
-------

This patch is an improved version of what is in the pdfprintpdf branch.  (There is really only a single patch in that branch.)

The patch tries to avoid converting pdf files to ps files for printing as much as possible.  In particular:

- If we are printing a file, and printing of annotations is not requested, then the pdf file is sent straight to the printer.
- If rasterization is requested, then the short previously-windows-only printing code is used, because it does exactly that: printing by rasterization.
- In all other cases, the file is converted to ps as before.
- The big #ifdef Q_OS_WIN ... #else ... #endif is removed.  All code is compiled on all platforms, but on Windows forceRasterize is always set. Therefore, the behavior on Windows remains unchanged.

There are a few behavioral changes that I know of:
- The resolution of the rasterization most likely changes.  Don't know whether this is a problem.
- Previously, when printing without printAnnots to a file, the result file did not have the annotations anymore.  With the new code, the annotations are still there, but they are still actual annotations, unlike what you get when using the old code to print annotations.  I am not sure whether to call this a regression or a feature.

I am motivated to improve this patch some more, but I need some guidance.  What direction should I take to obtain something mergeable?

Also: in the file fileprinter.h it says:

// This Class is a temporary addition to Okular for the duration of KDE 4.0.
// In KDE 4.1 this class will either be moved to kdelibs if still required,
// or replaced  with a Qt 4.4 based solution.

KDE 4.1 is long gone.  What is fileprinter supposed to be replaced with?


Diffs
-----

  generators/poppler/generator_pdf.h a078f50b 
  generators/poppler/generator_pdf.cpp 42ccb3a2 
  part.cpp df38e85e 

Diff: https://git.reviewboard.kde.org/r/130055/diff/


Testing
-------


Thanks,

Oliver Sander

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20170404/4e59f9d9/attachment.html>


More information about the Okular-devel mailing list