michaelrsweet / htmldoc

HTML Conversion Software
https://www.msweet.org/htmldoc
GNU General Public License v2.0
206 stars 46 forks source link

Problem with external URL links #521

Closed stephaned68 closed 3 months ago

stephaned68 commented 4 months ago

Hi Using htmldoc 1.8.27 on Ubuntu 16.04

We have a problem with hyperlinks linking to some external URLs ("https://www.website.com/some/path?with=argument&other=argument")

In the resulting PDF, the text for the links are underlined as expected but they do not open a browser to the specified internet address

Here is a series of tests I did with this simple file :

<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<A HREF="https://www.visserie-service.fr">Visserie Service</A>
</BODY>
</HTML>

The original command in our software is the following :

htmldoc --webpage --no-embedfonts --size a4 --left 12mm --footer n/N --strict -t pdf /home/stephane/test.htmldoc >/home/stephane/test.htmldoc.pdf

It creates the PDF output with this sent to stderr and a non functional hyperlink

PAGES: 1
ERR015: Unable to resolve link to ""!
BYTES: 3207

I have tried to add the --links option, same stderr output and same PDF file with underlined link that sends nowhere I have tried without the --strict option, which removes the ERR015 but still produces a PDF with a non-functional hyperlink

Any idea what we are doing wrong ? Or is this something not supported with our old htmldoc version ?

TIA

michaelrsweet commented 4 months ago

Well, it should work with 1.8.27, but that release is over 10 years old...

Is it possible your version of HTMLDOC is compiled without HTTPS support? Running "ldd /usr/bin/htmldoc" will show whether it is linked against any crypto/ssl/tls libraries...

stephaned68 commented 4 months ago

Hey Michael

Thx for your quick response

Here is the result of the ldd command

stephane@cumulus-be:~$ ldd /usr/bin/htmldoc
        linux-vdso.so.1 =>  (0x00007fff95b42000)
        libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fb578121000)
        libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fb577cdc000)
        libXpm.so.4 => /usr/lib/x86_64-linux-gnu/libXpm.so.4 (0x00007fb577aca000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fb5778a5000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb57768b000)
        libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fb577432000)
        libfltk_images.so.1.1 => /usr/lib/x86_64-linux-gnu/libfltk_images.so.1.1 (0x00007fb577225000)
        libfltk.so.1.1 => /usr/lib/x86_64-linux-gnu/libfltk.so.1.1 (0x00007fb576f80000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb576d6a000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb5769a0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb5786a3000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb57679c000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fb576462000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb576159000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb575dd7000)
        libXft.so.2 => /usr/lib/x86_64-linux-gnu/libXft.so.2 (0x00007fb575bc2000)
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fb57597f000)
        libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fb57577c000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb57555f000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fb57533d000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fb575093000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fb574e89000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fb574c60000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fb574a4e000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fb57484a000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fb574644000)

There are some ssl and crypto libs linked in

michaelrsweet commented 4 months ago

OK, well it has been compiled against OpenSSL so there is HTTPS support - maybe HTMLDOC just isn't able to negotiate a TLS connection?

You could try changing the link to "http:" and see if that is the case. Unfortunately, some web sites are blocking TLS/1.0 now and that's all you'd have with the OpenSSL on Ubuntu 16.04.

stephaned68 commented 4 months ago

Michael

I have done all kinds of tests, with http:// instead of https:// and even without any http prefix Same result : a clickable link that goes nowhere on the Chromeboxes used at our company, and to the Windows directory where I have downloaded the PDF on my PC. Which probably indicates that the address/link in the PDF is just empty

Guess when we'll update Ubuntu, we'll also install a newer htmldoc