We’re changing our infrastructure at work and moving from our old server(that isn’t well documented) to a new setup that is better documented and faster. As we’re doing this we’re finding odd problems that need to fixed. One of our processes uses wkhtmltopdf to convert some pages to PDF for reporting purposes. When we ran those processes on the new server the PDF file was corrupt and contained the string “No pdftotext Available”.

As an example, we ran the command and received the output below:

# wkhtmltopdf.11rc1 "https://site.com/example/" output.pdf
Loading pages (1/6)
QSslSocket: cannot call unresolved function SSLv23_client_method0%
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
Warning: Failed loading page https://site.com/example/ (ignored)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

I would think the “Failed loading page” error would have kept it from going but we are running an old version.

The fix was to install the libssl-dev package

apt-get install libssl-dev

And this fixed the errors and caused the PDF to generate correctly.

# wkhtmltopdf.11rc1 "https://site.com/example/" output.pdf
Loading pages (1/6)
QSslSocket: cannot resolve SSLv2_client_method               ] 10%
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv2_server_method
QSslSocket: cannot resolve SSLv3_server_method
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
QPixmap: Cannot create a QPixmap when no GUI is being used===] Page 1 of 1
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
Done