2

I am trying to create a table in composer to be positioned at the base of the map and is essentially a title block to provide information in text, image and table form. The only success I have had is creating many small text boxes and strategically placing them to appear as a table. However this is extremely tedious and if I need to change the spacing of 1, I need to then change the spacing's of all other text boxes- surely there is an easier solution.

3
  • 3
    like this? gis.stackexchange.com/questions/199418/…
    – Mapperz
    Mar 24, 2019 at 21:56
  • 1
    If @mapperz solution isn't what you want, please update your question with an image of the "title block" you're trying to create.
    – csk
    Mar 25, 2019 at 17:58
  • Welcome to GSE ! Don't forget to specify which version of software / tool you are using, tools or code are evoluting ! Apr 2, 2019 at 6:42

1 Answer 1

1

I have previously (in my early days...) created simple title blocks using HTML tables, using the Add HTML tool and constructing the table from scratch using <table>, <tr>, <td> etc., specifying most column widths and alignments in-line - a more sophisticated approach would heavily use the user stylesheet option to set certain defaults, and set up certain table style classes etc.

Then I would save the title block as a template by going to Layout > Save as Template, and using Layout Manager to create new maps from that template.

Some examples:

enter image description here

enter image description here

I think that might be the best option to create a table template, but be warned, it can be extremely time consuming, especially if you do not know much about HTML/CSS. Column widths, text padding, merged rows, font settings, etc.

Ideally, all of your text in the title block would be static or controlled by an attribute/variable as it is very inconvenient trying to replace/edit table contents in the HTML code, with the tiny text block provided - it's meant more for you to paste HTML that's ready to go.


Personally, I've since shifted to template styles that don't divide sections by lines at all, and just use text boxes with no frame for everything.

I lock the top-left coordinate of the text boxes (and sometimes the width) by going to Item Properties > Position and Size to prevent inadvertent shifting while allowing for some resizing. This still allows flexibility if needed, and is much easier and more user-friendly than modifying HTML. I also don't have to worry about shifting lines around.

If I really need a line to separate items I will just draw one using the Add Polyline tool in composer, and lock the polyline's location.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.