Hyperlink on PDF in Visual FoxPro


Currently, we use a template on VFP and we get our data from a Visual FoxPro database. So, we have fields on this template directly from the database. Then, we convert this template to PDF.
Our clients use our invoicing system - what we now want is to link these invoices to a statement. So, we want to create a new field on the database and use that field on our template to store the path of the invoice linked to the statement.
When we convert this template to PDF, we want to be able to access the path as a hyperlink. So if we click on that invoice, it opens up the invoice wherever the path is pointed to.

Please assist or alternately advise on a better method. You can also email me - shamina@oficinagroup.com

Many thanks,
Shamina MaharajSoftware DeveloperAsked:
Who is Participating?
pcelbaConnect With a Mentor Commented:
I've been asking what tool do you use to create PDFs with no answer yet. Never mind. To know your templates are VFP reports is sufficient. We are closer.

If you use XFRX (http://eqeus.com/) to create PDFs then you may define hyperlinks easily as described in XFRX documentation, e.g.: https://eqeuscom.atlassian.net/wiki/spaces/DOC/pages/3899459/Implementing+custom+event+hyperlinks+drilldown+in+the+XFRX+previewer
or in this paper: http://doughennig.com/papers/Pub/200402dhen.pdf

To write your own listener which supports hyperlinks, see this paper: http://doughennig.com/papers/Pub/CoolUsesforReportListeners.pdf

Other tools which could support hyperlinks in PDFs are FRX2Any http://www.frx2any.com/ and maybe even FoxyPreviewer https://foxypreviewer.codeplex.com/ (this link will become obsolete soon).
This is not achievable at Visual FoxPro level but you have to update the conversion from templates to PDFs.

If you tell what tool do you use for the conversion then somebody who knows could tell whether it is doable.
Currently, we use a template on VFP and we get our data from a Visual FoxPro database
Do you mean that you are using a VFP Application Form to enable the user to enter some data (the "template") ?
If not, then where is this 'template" coming from?
And, if not VFP, then our VFP advice would be of no value to you.

we want to create a new field on the database
Adding a new field into the VFP Data Table is not hard as long as you have VFP.
However if this 'template' is something other than a VFP Form, you would need to get answers from someone who knows it in order to associate its fields to the new VFP Data Table field.

When we convert this template to PDF
Again, from a VFP Form, it is not hard to print the data out to a VFP Report Form and through it to a PDF File driver (such as Bullzip or other PDF File drivers).  
Another VFP-compatible PDF File driver which allows the creation of hyperlinks in PDF's is XFRX.  It is not free, but it works.
However if your 'template' is not VFP, you need to find resources who know about your 'template' to advise you.

Good Luck
Olaf DoschkeSoftware DeveloperCommented:
There is no such data type as a hyperlink in VFP tables (and from the top of my head there might be such types elsewhere, but also not likely). For a browser or a word document or a PDF to have a link is rather a thing, which either automatically happens, if a text portion is a URL or, like in Word, it is an extra OLE object.

VFP has the base class hyperlink, but it's not a type, so you would only add a pretty normal char/varchar field to the DBF and store the URL. Whether and how it's rendered as a link in the PDF is up to the PDF creation process and that's most likely done by a PDF printer driver outputting a report as PDF file, if you work with VFP to create PDFs.

What you describe sounds more like using any other reporting tool only using DBF as data sources, then that means you need to look for advice about this reporting tool and not here.

Shamina MaharajSoftware DeveloperAuthor Commented:
By template I mean VFP Report.

Is there any way to convert a field at least to a hyperlink?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.