When you print to a variety of surfaces you need to prepare your surfaces with a digital ground.
A digital ground is a medium you apply to the surface that allows the inkjet ink to 'stick'.
I use inkAid. It comes in clear, colors and non-porous. You can buy a smaller sampler set to try!
There's much more about this magic product in my book- link on right.
or go to their website- here