Hide the whole empty row of table in VF page when rendered as pdf
You should be able to control the rendering of the row using <apex:variable>
:
<apex:variable var="v" value="" rendered="{!NOT(ISBLANK(TheField__c))}">
<tr>
<td><apex:outputLabel rendered="if field is not blank"><td>
</tr>
</apex:variable>
<apex:outputPanel>
would probably also work as long as you specify layout="none"
I tend to do this directly in HTML with some CSS hackery
<tr style="display: {!IF(ISBLANK(Field__c), 'none', 'table-row')};">
<td>Content of your cell</td>
</tr>