To be able to open password-protected pdfs with Evince on my own system I found (after much testing) that I had to compile the latest release of Poppler from source and also compile the latest release of Evince, building it against the newer Poppler.
How to upgrade Poppler & Evince to fix problems opening password-protected PDF files
First install all these prerequisites for compiling:
sudo apt install g++ autoconf libfontconfig1-dev pkg-config libjpeg-dev libopenjpeg-dev gnome-common libglib2.0-dev gtk-doc-tools libyelp-dev yelp-tools gobject-introspection libsecret-1-dev libnautilus-extension-dev
(more dependencies may be found on other systems but I'm working from a 2-week old installation, so hopefully this will be enough for most)
Poppler
Open a terminal so you are in your home directory. If you are really keen on tidiness, you can make a new directory for the two source directories you are going to end up with, for example mkdir poppler
and enter it: cd poppler
.
First download the encoding files (no need to compile these) to the current working directory
wget https://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz
Extract (it does untar cleanly):
tar -xf poppler-data-0.4.7.tar.gz
Enter the directory
cd poppler-data-0.4.7
And magically send the files to the right locations in /usr/share
with:
sudo make install
Now go back up one level
cd ..
Download & extract the main package:
wget https://poppler.freedesktop.org/poppler-0.44.0.tar.xz
tar -xf poppler-0.44.0.tar.xz
cd poppler-0.44.0
Now run the configure
file like this:
./configure --enable-poppler-glib
Here you will get errors if I missed anything from my list of dependencies above. The errors might be illuminating eg 'thing-you-need not found' in which case you can try sudo apt install thing-you-need
and try again. If that doesn't work, try searching online for the error message.
If it exits without errors you can run:
make
Which will take a while. When it's done, you can use sudo make install
but even better, you can use checkinstall to make this installation known to dpkg
(yay!) so:
sudo apt install checkinstall
sudo checkinstall
If you ever want to uninstall this, you can conveniently do so with sudo dpkg -r poppler
as checkinstall
will politely inform you. If you use sudo make install
you can still uninstall at any time by entering the source directory (so keep it!) and typing sudo make uninstall
Evince
We've already got the dependencies for Evince, so assuming you are still in the poppler directory go back up to home with cd
or to wherever you want to download Evince.
wget http://ftp.gnome.org/pub/GNOME/sources/evince/3.20/evince-3.20.0.tar.xz
tar -xf evince-3.20.0.tar.xz
cd evince-3.20.0
./configure
make
sudo checkinstall