Jae
The workaround as posted was not complete and on testing, needs further development. Apologies - too much haste, not enough speed!
The complication in your case, is that your .jpg files are of different sizes.
To overcome this, the picture object in the report would have initially been set to TEMPREPO.general = 1, (the .general field is numeric, and has values of 0 - Clip, 1 - Isometric, 2 - Stretch), and the object size increased to near maximum.
As the report accepted a new .jpg file, the TEMP.general field's value would have been replaced with 0, Clip, which would then have allowed the picture object to resize itself, according to the .jpg's dimensions.
The picture object would then have been centred prior to print.
All this works in the command window, but does not currently work in the application.
One workaround, and this may sound a retrograde step, would be to APPE GENE each .jpg to a cursor, and centre the image in the report.
IF LINK is included, only the .jpg would be embedded, and only 1 image would ever be in RAM at one time. As the printing of the images would be the most time consuming, the APPEnding time would probably be acceptable.
Assuming the records have been copied to cursor PRINTOUT, and a general field called .image added to PRINTOUT then:-
lcAlias = ALIAS()
SELE PRINTOUT
SCAN
[tab]lcFileName = PRINTOUT.filename
[tab]APPE GENE image FROM &lcFileName LINK && Append image
[tab]REPO FORM report1.frx NEXT 1 TO PRINTER NOCONSOLE
[tab]APPE GENE image && Remove old image
ENDSCAN
SELE (lcALias)
Chris