Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

How to print linkable URLs?

4069 11
cancel
Showing results for 
Search instead for 
Did you mean: 
Kamil_Lelonek
5 - Automation Enthusiast
5 - Automation Enthusiast

When I print a view that contains links, they are not clickable in the PDF result. How to achieve that?

11 Replies 11
M_k
11 - Venus
11 - Venus

Hi @Kamil_Lelonek

I managed to find a thread of posts that might help.

Hope this might help.

Mary Kay

If this does help, can you type SOLVED in the subject line?

Kamil_Lelonek
5 - Automation Enthusiast
5 - Automation Enthusiast

Oh, the problem is I’m using the LOOKUP type to display such links, and they are not clickable then :confused:

In the article that @M_k linked, it was mentioned that formula-generated URLs would also create clickable links in PDFs, so I thought it might work to pull the URL from the lookup field via formula. However, something has changed since then, and this is no longer the case. I ran several tests, and could only get a live link using an actual URL field.

Hi @Justin_Barrett

Thank you.

I sent you a PM last week. Did you get it?

Mary

@M_k No, I don’t see any PMs from you since our last conversation wrapped in December.

Hi @Justin_Barrett

I just sent you a PM. Hopefully you got it.

Mary

It’s a shame that Airtable doesn’t support fields that also have formulas as an attribute. :slightly_smiling_face:

Yeah, this is a problem. Two basic approaches -

  1. Create an external API process that either builds your PDF from scratch (Google Apps Script can do this), or pre-populates (and sustains this population) of link fields that are not actual formula fields.
  2. Create a script block that copies the formula links into a real field.
Kamil_Lelonek
5 - Automation Enthusiast
5 - Automation Enthusiast

What I did was:

let table = base.getTable('Plany');
let view = table.getView('Grid view');
let result = await view.selectRecordsAsync();

for (let record of result.records) {
    let link = record.getCellValue('Link')[0];
    await table.updateRecordAsync(record, {
        'URL': link,
    });
}

Let me know whether that’s correct.