Aspose.cell PDF文件转换主线程不释放

我们发现aspose.cell save方法 excel转PDF的时候,如果碰到转换失败会一直卡主线程不释放,但是也没有抛出任何异常,导致我们整个主线程都被阻塞,不能在做其他的转换操作。
想问一下如果出现转换出错,能否抛出异常告知不要阻塞主线程不释放呢?
我们用的Aspose cells是最新的25.5的版本
Code Snipet:
WXWorkCapture_1747279838100.png (24.6 KB)

@cromwell1994

在使用Aspose.Cells将Excel文件转换为PDF时,如果遇到转换失败的情况,可能会导致主线程被阻塞而没有抛出任何异常。为了避免这种情况,您可以使用Aspose.Cells提供的“忽略错误”功能。

通过设置PdfSaveOptions.IgnoreError属性为true,您可以在转换过程中忽略错误,这样即使遇到问题,转换也会继续进行,而不会导致主线程被阻塞。请注意,使用此选项可能会导致数据丢失,因此建议仅在数据丢失不重要的情况下使用。

以下是一个示例代码,展示如何使用此选项:

// 加载可能会出错的Excel文件
Workbook wb = new Workbook("sampleErrorExcel2Pdf.xlsx");

// 指定PDF保存选项 - 忽略错误
PdfSaveOptions opts = new PdfSaveOptions();
opts.IgnoreError = true;

// 将工作簿保存为PDF,使用指定的PDF保存选项
wb.Save("outputErrorExcel2Pdf.pdf", opts);

通过这种方式,您可以确保转换过程不会因为错误而中断,从而保持主线程的可用性。

如果您需要更详细的信息,可以参考相关的文档和教程,了解如何在Aspose.Cells中处理错误和自定义设置。

Sources:
[1]: Error Handling and Customization in Aspose.Cells
[2]: Ignore Errors while Rendering Excel to PDF

我们试了下,这个方法没有解决我们的问题

没有因为报错而中断,而是遇到异常没有抛出,转换的主线程一直没有被释放,导致转换失败

@cromwell1994
如果文件太大或者其他原因导致转换时间太长,你可以实现 InterruptMonitor来中断转换。请参考以下文档。

@cromwell1994 ,

为了更好地分析您的问题,请分享您的源文件。

@peyton.xu 你好,这是转换错误的excel
TEST_EXCEL_FILE.zip (72.5 KB)

@cromwell1994
通过使用样例文件和以下样例代码在最新版本v25.5上进行测试,我们可以复现问题。当转换文件到pdf时,程序一直挂起,无法结束。

Workbook wb = new Workbook(filePath + "TEST_EXCEL_FILE.xlsx");
wb.Save(filePath + "out_net.pdf");

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

问题单号:CELLSNET-58410

@cromwell1994
您的问题( CELLSNET-58410)已得到解决,修复后的功能将随版本25.6一起发布。

The issues you have found earlier (filed as CELLSNET-58410) have been fixed in this update. This message was posted using Bugs notification tool by leoluo