One of the 3rd-party UFLs (see list of such UFLs here: Crystal Reports Viewers, Schedulers and Related Products ) provides a function to compute the length of rendered text. That allows you to change the font size to fit a given max width.
The same UFL also allows you to resize images to fit maximum specified dimensions. A new image file gets created on the fly, so Crystal "graphic location" property expression can load the resized version.