Document conversion API usage in .NET

@egormarkov,

We shall share an ETA of fix in the middle of the next week, because this issue is still under investigation.

@atirtahir3,
We faced another problem with conversion. I’ve attached XLSX file which can eat up to 2 GB RAM while converting and never complete.
The original file was like 4.4 MB, but due to your policy I cannot attach more than 4 MB, so I reduce file size by removing about 20k rows.
Clx-March2018-SMS - Copy.zip (3.6 MB)

@egormarkov,

Are you trying to convert this XLSX to HTM or PDF? Please tell the output format type.

HTML.
GroupDocs.Conversion.dll Version is 18.8.0

@egormarkov,

We have reproduced this issue at our end. We are further investigating it. Hence, it has been logged in our internal issue tracking system with ID:CONVERSIONNET-2728. As we have any update on it, you shall be notified.

@egormarkov,

We’d like to inform you that your reported issues CONVERSIONNET-2728 and CONVERSIONNET-2569 are now resolved in GroupDocs.Conversion for .NET 18.10.

@atirtahir3,

Thanks for the update,
However we still can replicate 2569.
2728 - also same, cannot convert, eat about 2 GB RAM & 100 CPU.

Can you double check on your side?

@egormarkov,

Let us guide you about CONVERSIONNET-2728.
At the moment you can’t convert both sheets/pages (a multi-paged excel file) at the same time. You can convert the first worksheet or the second worksheet separately as follows:

Set options to convert first page/sheet

var saveOptions = new HtmlSaveOptions
{
       PageNumber = 1,
       NumPagesToConvert = 1, 
};

Set options to convert second page/sheet

var saveOptions = new HtmlSaveOptions
{
       PageNumber = 2,
       NumPagesToConvert = 1, 
};

As far as CONVERSIONNET-2569 is concerned, it is under investigation. We shall notify you as we have any further updates.

@atirtahir3,

Do you mean all excel files with more than 1 sheet will give me same performance issue?
Do you mean it is correct application behavior when it eat all the server memory?

@egormarkov.

Conversion process has improved.
Please note that if you try to convert a multi-paged worksheet into HTML without specifying PageNumber and NumPagesToConvert, conversion process will never come to an end. It will consume a lot of memory and end up with out of memory exception.

In order to convert a multi-paged worksheet (without a lot of memory consumption), we’d recommend you to convert one page at a time by specifying PageNumber and NumPagesToConvert. This is a fast way to convert a multi-paged worksheet.

var saveOptions = new HtmlSaveOptions
{
     PageNumber = 1, //set PageNumber to 2 for second page and 3 for third page
     NumPagesToConvert = 1, 
 };
var convertedDocumentPath = conversionHandler.Convert(inputFile, saveOptions);
convertedDocumentPath.Save("result-" + Path.GetFileNameWithoutExtension(inputFile) + ".html");

Or you can loop over sheets/pages of a worksheet as follows:

for (int i = 1; i < 3; i++)
{ 
     var convertedDocumentPath = conversionHandler.Convert(Common.inputGUIDFile, new 
     HtmlSaveOptions { PageNumber = i, NumPagesToConvert = 1});
     convertedDocumentPath.Save("result-" + Path.GetFileNameWithoutExtension(Common.inputGUIDFile) +i+ ".html");
}

No, please follow the work-around that we shared in order to get improved results.

It will never eat that much memory if you follow the work-around.

@atirtahir3,

How can I know how many sheets have the excel file?

I’ve also tried simple excel file with 2 sheets - and didn’t get any issues…

@egormarkov,

You can count number of sheets as follows:

DocumentInfo docInfo = conversionHandler.GetDocumentInfo(sourceFile);
int numberOfSheets = docInfo.PageCount;
for (int i = 1; i <= numberOfSheets; i++)
{ 
       var convertedDocumentPath = conversionHandler.Convert(sourceFile, new HtmlSaveOptions { PageNumber = i, NumPagesToConvert = 1 });
       convertedDocumentPath.Save("result-" + Path.GetFileNameWithoutExtension(sourceFile) + i + ".html");
} 

Glad to hear that.

@atirtahir3,

Do you have any system requirements for GroupDocs.Conversion?

Like CPU and RAM requirements to use conversion for 5MB, 20MB and 50MB files?

@egormarkov,

We can not provide you information about possible hardware requirements. Because document conversion depends on multiple factors including document size and content.
Conversion of a 5MB document with tabular content and text styles may take more time or utilize more resources than a 5MB document with simple paragraphs.
However, these are the minimal system requirements to run GroupDocs.Conversion for .NET.

Any updates on 2569? It’s already like 3-4 month issue not resolved…

@egormarkov,

CONVERSIONNET-2569 is a core level API issue. We are trying to fix this. We’ll share ETA of fix as we have any further update on it.

@egormarkov,

This issue is now resolved. Please download latest release of the API 19.4 and share your feedback.