Отслеживание прогресса конверсии документа

Отслеживание прогресса конверсии документа

Aspose.Email предоставляет возможность отслеживать прогресс конверсии документа. Для этого API предоставляет SaveOptions.CustomProgressHandler, который представляет метод, обрабатывающий события прогресса. Типы событий прогресса представлены перечислением ProgressEventType. Перечисление ProgressEventType имеет следующие члены.

  • MimeStructureCreated: Это событие сообщает, что структура MIME создана.
  • MimePartSaved: Это событие сообщает, что сохранение одной части MIME завершено.
  • SavedToStream: Это событие сообщает, что все части MIME сохранены в поток.

Следующий пример кода демонстрирует использование SaveOptions.CustomProgressHandler и перечисления ProgressEventType для отслеживания прогресса конверсии документа.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the resource directory.
String dataDir = Utils.getSharedDataDir(TrackDocumentConversionProgress.class) + "email/";
String fileName = dataDir + "test.eml";
MailMessage msg = MailMessage.load(fileName);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
EmlSaveOptions opt = new EmlSaveOptions(MailMessageSaveType.getEmlFormat());
opt.setCustomProgressHandler( new ConversionProgressEventHandler() {
public void invoke(ProgressEventHandlerInfo info) {
showEmlConversionProgress(info);
}
});
msg.save(bos, opt);

Следующий код представляет собой код для настраиваемого класса, использованного в примере кода, приведенном выше.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
private static void showEmlConversionProgress(ProgressEventHandlerInfo info)
{
int total;
int saved;
switch (info.getEventType()) {
case ProgressEventType.MimeStructureCreated:
total = info.getTotalMimePartCount();
saved = info.getSavedMimePartCount();
System.out.println("MimeStructureCreated - TotalMimePartCount: " + total);
System.out.println("MimeStructureCreated - SavedMimePartCount: " + saved);
break;
case ProgressEventType.MimePartSaved:
total = info.getTotalMimePartCount();
saved = info.getSavedMimePartCount();
System.out.println("MimePartSaved - TotalMimePartCount: " + total);
System.out.println("MimePartSaved - SavedMimePartCount: " + saved);
break;
case ProgressEventType.SavedToStream:
total = info.getTotalMimePartCount();
saved = info.getSavedMimePartCount();
System.out.println("SavedToStream - TotalMimePartCount: " + total);
System.out.println("SavedToStream - SavedMimePartCount: " + saved);
break;
}
}