File file = files[n];
Image.setCachedFile(file);
logStart(file);
Document doc = Application.createDocumentHeadless(file);
File outFile;
String outName;
// Enforce the original requested output dimensions, since
// the ImageExportOptions may have been mutated on a previous
// iteration.
export.resizeWidth.setValue(exportWidth);
export.resizeHeight.setValue(exportHeight);
if (template != null) {
XmlNode root = template.getRoot();
doc.applyTemplate(root);
SaveOptions save = doc.getSaveOptions();
if (save == null) {
save = createTemplateSaveOptions(doc, export, ignoreResize);
}
doc.setSaveOptions(save);
ComboFrame frame = (ComboFrame) Dialog.getOwner();
DocumentWriter.save(doc, frame, false, Progress);
outFile = save.getFile();
outName = outFile.getName();
DocumentDatabase.addDocumentFile(outFile);
} else {
conformExportOptions(doc, conf, ignoreResize);
Engine engine = doc.getEngine();
DocumentWriter.export(engine, export, Progress);
outFile = export.getExportFile();
outName = outFile.getName();
}
doc.dispose();
logEnd(LOCALE.get("BatchLogSavedMessage", outName));
Image.setFile(outFile);