I have enough RAM (32 GB) and a powerful laptop (Intel 12th gen), but I am unable to zoom into PDF file (of 40 MB), evince won’t let me. What can I do?
Nothing much is running on my laptop, just Fedora 41 and most of the RAM is not utilized!
This is the URL to PDF (hosted on the Governement of India Website):
You still haven’t said what your machine specs are as that may be significant.
My first comment was indeed a solution, the second an observation.
It seems you can’t accept possible alternatives which can only lead to a belief that you original post was nothing more than just a rant and you weren’t expecting other members of this forum to give their time trying to address your issue.
FWIW, you can also try the 'Papers' app (which is fork of 'Evince' with upgrades and new features). 'Papers' is still in development, but I guess should be fine for common use cases.
Do we need more than 500 MB of RAM to display 40 MB of PDF file? I am confused as it is the same amount of data that needs to be displayed and the contents of file don’t change. Why even 10 times of the RAM not sufficient to display the file?
I’m not sure about the internals as I’m not an 'Evince' developer, but I’ve noticed that opening a 20 MB JPEG XL file in GIMP uses lot more memory (much > 20 MB). One might argue that 'gimp' is an editor (which might need more data structures to handle editing), while 'Evince' is just a viewer.
Tiled rendering is the recommended solution to the 'Evince' memory issue as mentioned here.
It depends on the PDF, but text and image data will occupy more memory than the plain PDF. A PDF file is just a list of directives that tell a viewer application how to render its contents; by necessity, the end result is going to be more complex than its description.
Evince renders the pages into a pixmap, which is kept in memory together with some other pages (previous and next ones) in order to make the transition between pages smoother.
Evince does not know how the PDF file is, it could try to gather them, but it is orthogonal to the problem here. Adding tiling support it was correctly pointed it out in Evince: Unable to zoom in 40 MB PDF file - #5 by Sid is the proper solution.
Perhaps, 50MB of cache size per page is too conservative for today’s standards. Although it is doable to to increase it, it would be only a bandaid.
As mentioned above, I ncreased the memory to 500 MB but the MB maximum zoom was 146%
This pdf has a single page with no image but only vector graphics.
I accepted the answer as you quoted. Just wanted to share with the community, that 500 MB is not enough to zoom into a 40 MB pdf file without any images but only vector graphics, it seems a bit excessive.
[…] Just wanted to share with the community, that 500 MB is not enough to zoom into a 40 MB pdf file without any images but only vector graphics, it seems a bit excessive.
First at all, it is not a 40Mb file, it is a 40Mb page. Evince renders pages, a document of 40Mb with 100 pages is different than a document with one single page of 40Mb. In the former, Evince will render some pages whereas in the latter it has to render everything.
As I said before, what matters is the rendered output. That is an image.
Last, pdfs are likely compressed documents. Hence, the page in your document is bigger than 40Mb. See for example:
% pdftk Rlwmap_Eng_04-07-2024.pdf output Rlwmap_Eng_04-07-2024-uncompressed.pdf uncompress
% ls -lh
total 164M
-rw-rw-r-- 1 gpoo gpoo 125M Dec 30 10:15 Rlwmap_Eng_04-07-2024-uncompressed.pdf
-rw-rw-r-- 1 gpoo gpoo 40M Jul 4 01:34 Rlwmap_Eng_04-07-2024.pdf
The document with one page is actually a 125Mb of vectorial data that must be rendered as an image.
In summary, the proper topic is “Evince: Unable to zoom a 40Mb page”. Otherwise, it is misleading as not all 40Mb pdfs are equal.