I don't see there is a direct option in Document Template, however, there might be some sort of work around.
First I would recommend to create an entity (or entities) to which you can link your template and in the logic of creating the pdf, you copy all the required data to these entities. That way you are not adding the additional attributes I am suggesting below to your core entities.
When copying the text values (eg Description), you can check the length of the string. Based on the length you could set a boolean or maybe even better an enumeration (eg ENUM_Description) related to this specific attribute. The enumeration could have values like 'under10' 'under50' 'under100' etc., depending on the variety of the fontsize you want.
For each of the attributes, you will create as many rows in a table and add conditional visibility. For the content, you will update the style according to your requirements.
Hope this helps.
Maybe you would be able to use Custom Styling to achieve this with a single row, but for that probably a CSS master would be able to shed some light.
And personally, I don't know how flexible PDF Document Generation is.