One mesh can be projected onto the surface of another, by adding a Shrinkwrap modifier to it.
The Shrinkwrap modifier allows an object to “shrink” to the surface of another object. It moves each vertex of the object being modified to the closest position on the surface of the given mesh (using one of the four methods available).
It can be applied to meshes, lattices, curves, surfaces and texts.
For your example, the shrinkwrap modifier should probably be set to project, with the X and negative options checked.