QGIS – How to Create Independently Editable Report/Atlas Pages

atlaslayout-managerprint-composerqgisreports

In QGIS 3.16. I've created an atlas layout based on a polygon layer. There is one page per feature, with various objects in it including maps, labels, html objects, and images for that feature.

What is rendered on the atlas pages comes directly from my layer from the attributes for that feature — as it should be. But sometimes I'd like to make a change to a page before printing — just for that one feature, not for others.

The most common example arising in my case is the following:

  • an html object which creates a bullet list based on attribute values for a given field.

Occasionally this list is much too long for the space available on the report page, but I don't really want to change the value in the attribute table (or create a new attribute with an abbreviated version). It would be really useful to have the option to edit the text on the page. In some cases, I would like to add more text than what is there (again, without adding this text to the attribute value in the table).

It seems what I am asking for is a report which, once published, allows data entry and modification in the manner of a form (but without actually changing the attribute values in the table).

Best Answer

I don't think there is or really will be a GUI solution for this within QGIS - my understanding is most professional cartographers expect to have to use a vector based graphics software to do custom post-export changes or touchups.

But in some instances you could consider using data-defined override or expressions to change text/display based on atlas page name/number/field value.

For example, if you know map number 5 needs a line break in a specific HTML text box, put in [% CASE WHEN @atlas_pagenumber = 5 then '<br>' else '' END %] and it will produce a line break (<br>) only for map 5.

Could do the same thing for other HTML formatting tags (bold, italics...) or entire layout items like text boxes, lines, symbols, even maps (under Rendering > Opacity).

It can be very clunky though and could require a fair bit of manual work if you have lots of different changes for different pages.

Related Question