Review Request 130218: Print via QPrinter when rasterizing and printing annotations
Oliver Sander
oliver.sander at tu-dresden.de
Tue Aug 8 16:13:01 UTC 2017
> On Aug. 6, 2017, 3:17 p.m., Albert Astals Cid wrote:
> > Rasterizing usually makes stuff look quite bad (because the wrong resolution is chosen) , have you tried printing text or things with sharp lines?
>
> Oliver Sander wrote:
> Yes I tried that, and it looks very good. It looks so good I wasn't even able to tell that it was rasterized before printing. The resolution chosen by the code adapts to the printer
>
> QImage img = pp->renderToImage( printer.physicalDpiX(), printer.physicalDpiY() );
>
> and I guess it must be pretty large when printing to an actual printer.
>
> Albert Astals Cid wrote:
> So we will kill cheap printers/computers by using lots of memory? Can you try to see how much memory is used printing an A4 page? Also make sure that printing N pages doesn't need N times the memory (i guess using heaptrack or similar)
Quick first results: printer.physicalDpiX() returns a value of 1200, both for printing to my office printer and for printing to a file. An A4 printout results in a 9921 x 14032 bitmap; the corresponding file size is 804 KB (greyscale). Testing the actual memory consumption will take me a bit more time.
I don't actually care about the exact resolution. If you say "bah, just hard-code 72dpi there" that's fine with me.
- Oliver
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/130218/#review103569
-----------------------------------------------------------
On Aug. 4, 2017, 8:20 p.m., Oliver Sander wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/130218/
> -----------------------------------------------------------
>
> (Updated Aug. 4, 2017, 8:20 p.m.)
>
>
> Review request for Okular.
>
>
> Repository: okular
>
>
> Description
> -------
>
> When the users chooses to print with rasterization and annotations, it is easy to print directly to a QPrinter, rather than converting to PostScript and then using CUPS tools. The code for it was already there, but it was hidden behind an #ifdef Q_OS_WIN. This patch enables it for all plattforms. If nothing else, it will make an interesting debugging tool, because it allows to bypass the postscript & cups toolchain from the GUI. This may allow to track down some of the numerous my-printer-settings-are-getting-ignored bugs.
>
> Incidentally, this patch does fix at least one bug for me: Without it, my printer will happily ignore the 'print in grayscale' button. With the patch, that button is suddenly honoured.
>
> This patch is a part of https://git.reviewboard.kde.org/r/130055/ . I post it here separately because I am not sure anymore whether the other stuff in that larger patch is a good idea.
>
>
> Diffs
> -----
>
> generators/poppler/generator_pdf.cpp 42ccb3a26
>
> Diff: https://git.reviewboard.kde.org/r/130218/diff/
>
>
> Testing
> -------
>
> Printed a few test sheets, to a printer and a file.
>
>
> Thanks,
>
> Oliver Sander
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20170808/0405d98b/attachment-0001.html>
More information about the Okular-devel
mailing list