Comments (10)
That's a very good idea ...
... unfortunately the current version of Cairo Graphics does not have support for adding hyperlinks yet.
Support for that has been added to the upcoming Cairo 1.15 release series, but so far there are only snapshot releases of that and no official stable releases.
from maposmatic.
No worries! Thanks for the consideration.
from maposmatic.
Ubuntu now comes with a Cario Graphics version that has support for PDF links, but the pycairo version is still to old for it as of yet (has pycairo 1.16.2, needs 1.18)
from maposmatic.
I tried to create page number links with self built PyCairo 1.18.1, and it somewhat works, but only if the page number linked to is smaller than the current page aka. the page is already created, links to page numbers larger than the current page, so to pages that will only get rendered in the future, don't work yet.
This turned out to be a known Cairo bug: https://gitlab.freedesktop.org/cairo/cairo/issues/336
from maposmatic.
Found a workaround, page edge arrows are linked to their target pages now.
Still missing:
- links from the overview pages grid to detail pages
- links from index entries to actual map pages
from maposmatic.
See e.g. https://print.get-map.org/results//040800_2018-12-01_23-41_sylt-pdf-link-test.pdf for a map with working links
from maposmatic.
New showstopper: index lines are rendered with Pango, not with CairoGraphics directly, and on that layer PDF Hyperlink support is still missing:
https://gitlab.gnome.org/GNOME/pango/issues/290
from maposmatic.
"links from the overview pages grid to detail pages" now added by putting a transparent rectangle over the page number and having that being linked
from maposmatic.
I saw that Cairo 1.16 was just released. I looked at your test PDF and it looks encouraging. Thank you for carrying on this request.
from maposmatic.
I created a new issue for the missing clickable index entries, so I'm closing this one as the original request has long been fulfilled.
from maposmatic.
Related Issues (20)
- Fehlt da evtl. ein Leerschlag?
- Map list becoming more and more slow
- Allow to select different zoom factor / page count options for multi page output
- [Enter] in city search field leads to form validation error HOT 1
- Replace Leavelet Omnivore plugin
- API - submit multiple render jobs as a single bundled request
- API - add api call to cancel a request HOT 5
- Hillshade overlay dominates map
- Prevent same input value for min and max latitude / longitude value HOT 1
- Prevent zero paper width or height HOT 1
- Retention plan for uploaded files
- Parallel job rendering HOT 2
- Show time-to-complete (gu)estimates in map request list
- Show more fine grainded request status for requests currently being rendered
- Finish request heat map integration
- Decimal degrees latitude and longitude grid HOT 1
- Allow typing of bounding box
- Option to turn off all addresses (remove "no address determined") HOT 2
- Skip over form steps that provide a single choice only (or none)
- Health map HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maposmatic.