Open GoogleCodeExporter opened 8 years ago
Thank you for finding and reporting this bug. I could reproduce the problem
using the minimal.pdf you have attached.
When specifying the pdfsizeopt flag --use-multivalent=false , the generated
minimal.pso.pdf file does contain the border, so I suspect that this issue is
because of a bug or misconfiguration in Multivalent.
I'll take a look if I can fix the issue from the pdfsizeopt size, effectively
preventing Multivalent from removing the border. I'll write an update as soon
as I have anything to report. In the meantime, please use the following
invocation as a workaround:
pdfsizeopt.py --use-multivalent=false minimal.pdf
Please note that disabling Multivalent has some side effects, e.g. the
resulting PDF will be a bit larger.
Original comment by pts...@gmail.com
on 2 Apr 2012 at 5:56
FYI I could create a smaller example PDF file (minilink.pdf) which exposes the
problem, see it attached. I used the following .tex source and pdflatex to
generate the first version of minilink.pdf (and then I tweaked it by hand):
\pdfcompresslevel9
\documentclass{article}
\paperwidth2in \paperheight2in
\pdfpagewidth\paperwidth \pdfpageheight\paperheight
\usepackage{hyperref}
\begin{document}
\shipout\hbox{\href{http://example.org/}{\vrule
width1ex height1ex}}
\end{document}
FYI xpdf 3.02 and gv with Ghostscript 8.71 always display the border, but
evince 2.30.3 doesn't. So I'm using evince for future diagnostics.
According to the following invocations, it seems to be that evince doesn't
display the border when Multivalent is involved:
pdfsizeopt.py --use-multivalent=false minilink.pdf # minilink.pso.pdf has border.
pdfsizeopt.py --use-multivalent=true minilink.pdf # minilink.psom.pdf is missing the border.
java -cp Multivalent20060102.jar tool.pdf.Compress minilink.pdf # minilink-o.pdf is missing the border.
java -cp Multivalent20060102.jar tool.pdf.Compress -old minilink.pdf # minilink-o.pdf is missing the border.
I've attached minilink-o.pdf, which is the output of Multivalent with the
`-old' flag.
Comparing minilink.pdf and minilink-o.pdf manually was feasible because they
were very small. It seems that Multivalent removes `/Border [0 0 1]' from `3 0
obj' (which is the /Type/Annot /Subtype/Link). Adding that back manually makes
the border appear again in evince.
The PDF reference 1.7 says that `/Border [0 0 1]' is optional, so Multivalent
didn't make a mistake by removing it. So there is no bug in Multivalent or
pdfsizeopt. The proper solution for this issue would be reporting this as a bug
in evince (or libpoppler). Please report it, and add a link their issue tracker
item here.
I haven't decided yet if I want to add a disabled-by-default command-line flag
to pdfsizeopt.py to work around this Evince issue. I'll write an update once I
have made up my mind.
Original comment by pts...@gmail.com
on 2 Apr 2012 at 7:28
Attachments:
Original issue reported on code.google.com by
m.vossku...@gmail.com
on 6 Dec 2011 at 6:23Attachments: