InDesign CS est totalement scritptable en trois langages (Applescript, Javascript, VBScript).
Au départ, je codais en AS mais pour assurer une compatiblité multiplateforme, je conseille de JS.
Pour créer un bloc image voici ce à quoi ça doit ressembler :
// Y1,X1,Y2,X2 sont tes coordonnées
app.activeDocument.rectangles.add().geometricBounds = [Y1,X1,Y2,X2];
app.activeDocument.rectangles.item(0).contentType = ContentType.graphicType;
app.activeDocument.rectangles.item(0).strokeColor =app.activeDocument.swatches.item("None")
app.activeDocument.rectangles.item(0).strokeWeight = 0;
// myPhoto doit être le path de ton image
app.activeDocument.rectangles.item(0).place(myPhoto);
app.activeDocument.rectangles.item(0).fit(FitOptions.proportionally);
app.activeDocument.rectangles.item(0).fit(FitOptions.centerContent);
// pour printer vers fichier, l'idéal est d'avoir la doc sous la main car les préférences d'impression sont longues à paramètrer pour être complètes. Je conseille l'aide au scripting fournie sur le CD en version anglaise (le fichier PDF est chapitrée) par rapport à la version FR qui propose 3000 pages sans repères.
//pour exemple voici un code de pref d'impression
app.activeDocument.printPreferences.printer = "nom_de_mon_imprimante"
app.activeDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.millimeters;
app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.millimeters;
var myx1 = 0;
var myy1 = 0;
var myx2 = app.activeDocument.documentPreferences.pageWidth;
var myy2 = app.activeDocument.documentPreferences.pageHeight;
app.activeDocument.printPreferences.colorOutput = ColorOutputModes.compositeCMYK; app.activeDocument.printPreferences.printPageOrientation = PrintPageOrientation.portrait;
app.activeDocument.printPreferences.useDocumentBleedToPrint = false;
app.activeDocument.printPreferences.printGuidesGrids = false;
app.activeDocument.printPreferences.pageInformationMarks = false;
app.activeDocument.printPreferences.paperSize = "A4"
app.activeDocument.printPreferences.sendImageData = ImageDataTypes.allImageData;
app.activeDocument.printPreferences.printBlankPages = false;
app.activeDocument.printPreferences.printSpreads = false;
app.activeDocument.printPreferences.scaleMode = ScaleModes.scaleToFit;
app.activeDocument.printPreferences.colorBars = false;
app.activeDocument.printPreferences.flip = Flip.none;
app.activeDocument.printPreferences.fontDownloading = FontDownloading.subset;
app.activeDocument.printPreferences.tile = false;
app.activeDocument.printPreferences.sequence = Sequences.all;
app.activeDocument.printPreferences.registrationMarks=false;
app.activeDocument.printPreferences.printNonprinting=false;
app.activeDocument.printPreferences.cropMarks = false;
app.activeDocument.printPreferences.bleedMarks = false;
app.activeDocument.printPreferences.bleedButton = "0mm";
app.activeDocument.printPreferences.bleedInside = "0mm";
app.activeDocument.printPreferences.bleedOutside = "0mm";
app.activeDocument.printPreferences.bleedTop = "0mm";
app.activeDocument.print(false);
// le code doit être enregistré au format texte avec l'extension .js et placé dans le dossier "preset" d'InDesign