Invoice2go can probably do what you want, except for the printing. They offer a cloud services, but it's not necessary to use it. There are several versions of their app. The lite version is free and will let you see how it works, but there's a limitation of 3 invoices. The unlimited version that works without their cloud service is $10. Be aware though, that generating a PDF invoice is done on their server(s) - the invoice data is sent to them, and you get back a PDF file. Without a data connection you won't be able to generate PDF invoices.