I've answered my own question through trial and error, no you can't print a hidden form and no you can't set a background, at least I couldn't find a form option for it.
The code did give me a jumping off point and I can now load in a jpeg from a file and print it any size I want

I just have to figure out how to add text to the canvas. It's going to be harder this way but I wont have to depend on a form showing to print.
One other question, currently I'm reading in scanned in images, jpg format around 2 meg, to put on the canvas, is there any way to read in the image and convert it to something I can save as part of the program??? I'd like the final program to contain everything but the databases and the ini file so that the computer illiterate people I'm writing it for will not have the chance to accidently 'misplace'

the invoice forms. I can hear the phone ringing now with someone complaining the printouts don't look right.
End User: 'The invoices don't looke like they should.'
Me: 'What do you mean?'
End User: 'Our logo and headers are missing.'
Me: 'You mean the invoice form is missing but the invoice itself is there?.'
End User: 'Uhh, maybe.....'
Me: 'Did you delete any files recently or try to 'Clean up' your PC??'
End User: 'Absolutely Not!, I never touch the PC.'
Me: 'Let me jump on your system remotely....Yep missing the jpeg files of the invoice forms.'
End User: 'How'd that happen??'
Me: 'Squirrels I guess, since you told me you didn't touch the PC..............'
You know my life would be much easier without end users