Does this screen shot show one record or 12 records? I believe you have one record here and that's the trouble.
Invoicing systems are generally built around 3 tables related in the following set up:
Invoices::InvoiceID = LineItems::InvoiceID
Products::ProductID = LineItems::productID
With this set up, you use a portal to LineItems on your invoices layout to specify the items sold on a given invoice. Pricing and description data is pulled from Products when a ProductID is selected in a drop down or pop up formatted ProductID field in the portal row. The invoice may then be printed from a layout based on the lineItems table.
Since you only have records listed in LineItems for items actually sold on that invoice, you don't have any empty fields to omit from your printed invoice.
The invoices starter solution is set up with this structure and prints invoices in this fashion. This much simpler demo file created by Comment is also set up in this fashion so you can down load it and take it apart to see how it works: http://fmforums.com/forum/showpost.php?post/309136/
Thanks. You are correct that it is one record. We don't really have "Products" that we sell like a warehouse but services with so many different variables that we use the Description field to show the details. We also have Misc. fields for services we provide that we can't really quantify. I was hoping I could just set up all the fields on a layout that looks like our invoice and create a script to not print blank fields and shift them up. Seems simple enough but it doesnt look like you can hide from printing conditionally unless you happen to know of a way.
You should stil use at least the Invoices to LineItems part of the system I recommended. The Products table may still be of use to you if you use it to list typical services offered by your business, but this is an option, not a requirement in order for this to work. The key detail is that a portal to line items eliminates the problem you are having with the empty fields.