[cairo] Clickable links in PDF? Metadata?

David Kastrup dak at gnu.org
Fri Jul 3 09:37:10 PDT 2015


I'm currently taking a look at the suitability of using Cairo for the
rendering purposes of GNU LilyPond <URL:http://www.lilypond.org>.
Hardly surprising, print output is pretty much a priority.

There are a few loose ends for which I see nothing in the
documentation.  With regard to PDF production, I cannot find the
following two items:

a) clickable links
b) document metadata
c) interfacing with the PDF production

While one can write out (sub-)surfaces via a streaming interface, it is
not clear whether one can assemble a single PDF file from multiple
surfaces such that resources are only present once, and how one would
otherwise organize the PDF output such that user-defined elements can be
spliced in.  If c) was reasonably available and powerful, the other
points could be implemented as user-defined extensions.

Even if it seems like overkill to render every item with a clickable
link in a surface of its own.

There is also stuff like "attaching files" to a PDF (not as important).
It may be that this works with the MIME data extensions already.

Any further information about this stuff?  Present state, plans,
problems, possible interfaces/APIs, timelines, openness to third-party

Oh, it also seems like surface types are hardcoded.  It might make sense
to let the user define a surface of his/her own by providing hooks for
_everything_.  For a vector-based format like PDF, this might be
reasonably straightforward and consequently a somewhat doable way of
getting a surface able to do everything that is required for a
particular application.

Thanks for any pointers/thoughts!

David Kastrup

More information about the cairo mailing list