1.覆盖了ImagingSavingCallback
public class HandleImageSaving implements IImageSavingCallback
{
private HtmlSaveOptions saveOptions;
public HandleImageSaving(HtmlSaveOptions saveOptions) {
this.saveOptions = saveOptions;
}
@Override
public void imageSaving(ImageSavingArgs args) throws Exception
{
// Change any images in the document being exported with the extension of “jpeg” to “jpg”.
if(args.getCurrentShape().getShapeType() == ShapeType.OLE_OBJECT){
saveOptions.setImageResolution(300);
}else{
saveOptions.setImageResolution(96);
}
}
}
代码如上,发现总是后面的生效,当前的图片不生效,不知道是为什么,如果是全局的300dpi,会造成分布图片大小过大,比较模糊,所以像一般的图片是96dpi,公式这种ole的这种设定300dpi,但是发现不能针对当前的Image生效.
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setExportHeadersFootersMode(0);
saveOptions.setImageSavingCallback(new HandleImageSaving(saveOptions));
saveOptions.setSaveFormat(SaveFormat.HTML);
//saveOptions.setOfficeMathOutputMode(HtmlOfficeMathOutputMode.MATH_ML);
doc.save(folder + “/images/” + fileName + “.html”,saveOptions);