The recommended way of doing this now, afaik, is the following:
Have users type info into an Anvil form (with TextBoxes, Dropdowns, etc). This form does not have to look like the final PDF structurally.
Then, pipe all the collected details into another form—setting the text property of Labels on this form to what the user entered. This form is then rendered with Anvil’s PDF functionality and has the desired structure of your final PDF.