Thanks for providing the required details.
We have tried to render your provided eml file and the API is rendering both pages without any issue. The issue exists in your mentioned document viewer application, however, I am afraid that this application is obsolete now and its support has been discontinued. Therefore, we recommend you to please try and migrate to our latest document viewer application in which your reported issue has been fixed. You can download the application from here.
One possible way to implement the timeout would be using System.Threading.Tasks.Task class in the back-end code as shown in the following code sample.
var task = Task.Run(() => RenderAsImage("candy.pdf"));
if (task.Wait(TimeSpan.FromSeconds(2))) // set timeout in seconds
// document rendered successfully.
//throw new Exception("Timed out");
// Show timeout message.
public static void RenderAsImage(string DocumentName)
// Set configurations
ViewerConfig config = new ViewerConfig();
config.StoragePath = @"D:\storage\";
config.EnableCaching = true;
// Create image handler
ViewerImageHandler imageHandler = new ViewerImageHandler(GetConfigurations());
string guid = DocumentName;
// Set image options
var imageOptions = new ImageOptions();
imageOptions.ExtractText = true;
// Get pages
List<PageImage> AllPages = imageHandler.GetPages(guid, imageOptions);
Hope it helps.