Aspose-cells Java

问题:试用Aspose-cells Java V25.3转换出来之后有一部分文档里面的图片,没法正常预览,请问怎么解决,如下是问题说明
1、使用的组件名称:aspose-cells
2、使用的开发语言:Java
3、使用的组件版本号:25.3
4、示例文档(转换前和转换后)
转换前文档:
(附件)
转换后HTML:图片丢失,如图

5、提供下报错截图 无
6、提供下示例代码
···java
Workbook wb = new Workbook(param.getFilePath());
HtmlSaveOptions options = new HtmlSaveOptions();

options.setEncoding(Encoding.getUTF8());
options.setExportImagesAsBase64(false);
options.setExportGridLines(true);
options.setExportSimilarBorderStyle(true);
options.setExportBogusRowData(true);
options.setExcludeUnusedStyles(true);
options.setExportHiddenWorksheet(true);
String htmlFilePath = uploadPath + param.getFileHash() + “.html”;
wb.save(htmlFilePath, options);
···[Preformatted text](我用夸克网盘分享了「2024年10月全新启辰VX6大平层版本车机服务功能及使用 (2).xlsx」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。 链接:夸克网盘分享)

@Angela_xu,

感谢您提供详细信息和示例代码片段。

您可能忘记将附件附加到您的帖子中。我们至少需要您的模板 Excel 文件(请在附加到此处之前将其压缩)以便我们评估您的问题。如果您还分享屏幕截图以突出显示有问题的区域和输出 HTML 文件以供参考,那就太好了。我们将很快检查您的问题。

附件太大上传不了,怎么处理?

@Angela_xu
You can upload to drive box or other cloud server, then share the link here. We will check it soon.

已经上传了云盘,请帮忙看看

@Angela_xu
通过使用过样例文件和代码在最新版本v25.3上进行测试,我们可以复现问题。发现当转换文件到html后,一些图片无法正常显示。

我们已经在内部问题跟踪系统中打开了以下新问题单,并将根据Free Support Policies中提到的条款提供修复。

问题单号:CELLSJAVA-46333

@Angela_xu

经过进一步分析,我们发现图片未显示的原因是未勾选“Print Object( 打印对象)"选项。只有勾选“Print Object”选项后,图片才能正常显示。您可以在 Excel 中选中图片,然后进入“Format Picture( 设置图片格式)”,找到“Print Object”复选框,并勾选它即可。请参考以下截图操作。:PrintPicure.png (15.0 KB)

请问可以通过代码层面解决吗?这个解决方案需要每次都让客户去勾选,不是每个客户都会操作。

@Angela_xu
请参考以下样例代码设置图片可打印。通过使用以下样例代码在v25.3上进行再次测试,我们可以得到正确的结果。

Workbook wb = new Workbook(filePath + "2024年10月全新启辰VX6大平层版本车机服务功能及使用 (2).xlsx");

WorksheetCollection sheets =wb.getWorksheets();
int count = sheets.getCount();
for (int i =0; i < count; i++)
{
	Worksheet sheet = sheets.get(i);
    PictureCollection pictures = sheet.getPictures();
    int pictCount = pictures.getCount();
    for (int j = 0; j < pictCount;j++)
    {
    	pictures.get(j).setPrintable(true);
    }
	
}

HtmlSaveOptions options = new HtmlSaveOptions();

options.setEncoding(Encoding.getUTF8());
options.setExportImagesAsBase64(false);
options.setExportGridLines(true);
options.setExportSimilarBorderStyle(true);
options.setExportBogusRowData(true);
options.setExcludeUnusedStyles(true);
options.setExportHiddenWorksheet(true);
String htmlFilePath = filePath + "out_java.html";
wb.save(htmlFilePath, options);

希望样例代码能对你有所帮助。

@Angela_xu ,

我们将会考虑调整图片的输出方式,使其与 Excel 的行为保持一致(如果你用Excel打开然后另存为html格式,会发现所有图片都会显示),即使未勾选“Print Object”选项,图片仍将正常显示。