Работа с задачами Outlook
Создание, сохранение и чтение задач Outlook
Aspose.Email для Java позволяет разработчикам создавать задачи Outlook и сохранять их в формате MSG. Класс MapiTask предоставляет ряд свойств, таких как PercentComplete, EstimatedEffort, ActualEffort, History, LastUpdate и др., для управления и установки информации, необходимой для задачи Outlook. В этой статье показано, как создать, сохранить и прочитать MapiTask с диска.
Создание и сохранение MapiTask
Следующие шаги можно использовать для создания и сохранения задачи на диск.
- Создайте новый объект класса MapiTask.
- Введите информацию для различных свойств задачи.
- Сохраните задачу на диск в формате MSG.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); | |
calendar.set(2016, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date startDate = calendar.getTime(); | |
calendar.set(2016, Calendar.DECEMBER, 1); | |
Date endDate = calendar.getTime(); | |
MapiTask task = new MapiTask("To Do", "Just click and type to add new task", startDate, endDate); | |
task.setPercentComplete(20); | |
task.setEstimatedEffort(2000); | |
task.setActualEffort(20); | |
task.setHistory(MapiTaskHistory.Assigned); | |
task.getUsers().setOwner("Darius"); | |
task.getUsers().setLastAssigner("Harkness"); | |
task.getUsers().setLastDelegate("Harkness"); | |
task.getUsers().setOwnership(MapiTaskOwnership.AssignersCopy); | |
String[] companies = { "company1", "company2", "company3" }; | |
task.setCompanies(companies); | |
String[] categories = { "category1", "category2", "category3" }; | |
task.setCategories(categories); | |
task.setMileage("Some test mileage"); | |
task.setBilling("Test billing information"); | |
task.getUsers().setDelegator("Test Delegator"); | |
task.setSensitivity(MapiSensitivity.Personal); | |
task.setStatus(MapiTaskStatus.Complete); | |
task.save(dataDir + "MapiTask_out.msg", TaskSaveFormat.Msg); |
Чтение MapiTask
Объект класса MapiTask используется для преобразования объекта MapiMessage, который загружает задачу с диска в формате MSG.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiMessage msg = MapiMessage.fromFile(dataDir + "MapiTask_out.msg"); | |
MapiTask task2 = (MapiTask) msg.toMapiMessageItem(); |
Чтение задачи VToDo
Задачи Google, экспортированные в формате iCalendar в виде событий VToDo, могут быть загружены с использованием класса MapiTask, как показано в следующем примере кода.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiTask task = MapiTask.fromVTodo(dataDir + "sample.ics"); | |
task.save(dataDir + "Test_out.msg", TaskSaveFormat.Msg); |
Добавление информации о напоминании к MapiTask
Аналогично Microsoft Outlook, Aspose.Email может добавлять информацию о напоминании к MapiTask. Следующий пример кода показывает, как добавлять информацию о напоминании к MapiTask.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); | |
calendar.set(2012, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date date = calendar.getTime(); | |
MapiTask testTask = new MapiTask("task with reminder", "this is a body", date, date); | |
testTask.setReminderSet(true); | |
testTask.setReminderTime(date); | |
testTask.setReminderFileParameter(dataDir + "Alarm01.wav"); | |
testTask.save(dataDir + "OutputTask_out.msg", TaskSaveFormat.Msg); |
Добавление вложения к MapiTask
Следующий пример кода показывает, как добавлять вложения к MapiTask.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiTask task = new MapiTask("To Do", "Just click and type to add new tasks", new Date(), new Date()); | |
Path p = FileSystems.getDefault().getPath("", dataDir + "Attach.txt"); | |
try | |
{ | |
task.getAttachments().add(dataDir + "TestAtt.txt", Files.readAllBytes(p)); | |
} | |
catch (IOException e) | |
{ | |
e.printStackTrace(); | |
} | |
task.save(dataDir + "MapiTask_out.msg", TaskSaveFormat.Msg); |
Конвертация задачи Outlook в MHT
Aspose.Email может генерировать выходные данные, похожие на MapiMessage, во время конвертации MapiTask в MHT.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
String dataDir = Utils.getSharedDataDir(CreateAndSaveOutlookMessageFile.class) + "outlook/"; | |
MapiMessage msg = MapiMessage.fromFile(dataDir + "MapiTask.msg"); | |
MhtSaveOptions opt = SaveOptions.getDefaultMhtml(); | |
opt.setMhtFormatOptions(MhtFormatOptions.RenderTaskFields | MhtFormatOptions.WriteHeader); | |
opt.getFormatTemplates().clear(); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.SUBJECT, "<span class='headerLineTitle'>Subject:</span><span class='headerLineText'>{0}</span><br/>"); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.ACTUAL_WORK, "<span class='headerLineTitle'>Actual Work:</span><span class='headerLineText'>{0}</span><br/>"); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.TOTAL_WORK, "<span class='headerLineTitle'>Total Work:</span><span class='headerLineText'>{0}</span><br/>"); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.STATUS, "<span class='headerLineTitle'>Status:</span><span class='headerLineText'>{0}</span><br/>"); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.OWNER, "<span class='headerLineTitle'>Owner:</span><span class='headerLineText'>{0}</span><br/>"); | |
opt.getFormatTemplates().add(MhtTemplateName.Task.PRIORITY, "<span class='headerLineTitle'>Priority:</span><span class='headerLineText'>{0}</span><br/>"); | |
msg.save(dataDir + "MapiTask_out.mht", opt); |