2015-02-17 2 views
0

Я использую с помощью Aspose.Email получить вложения из электронной почты Outlook, как это:Ошибки при помощи Aspose.Email, чтобы открыть встроенное прикрепление PDF, а затем загрузить в Datalogics

var mailMessage = Aspose.Email.Mail.MailMessage.Load(stream); 
var attachments = Aspose.Email.Outlook.MapiMessage.FromMailMessage(mailMessage).Attachments; 
var pdfAttachment = attachments.ToList()[attachmentIndexDesired]; 

Затем я загрузка вложение в DataLogics так:

var pdfStream = new MemoryStream(pdfAttachment.BinaryData); 
var pdfDocument = new Datalogics.PDFL.Document(pdfStream); 

Здесь я получаю следующее исключение:

PDF Library Error: File does not begin with '%PDF-'. Error number: 537001985

Я ничего не могу найти в этой ошибке.

Обратите внимание, что исходный объект потока выше - файл * .msg Outlook и берется из sharepoint SPFile. Также обратите внимание, что если объект потока SPFile сам является файлом PDF (в отличие от вложения в файл * .msg), я могу просто загрузить его в DataLogics.

Я знаю, что ошибка генерируется библиотекой DataLogics, но есть ли что-то о том, как я получаю вложение, которое можно было изменить/улучшить, чтобы предотвратить эту ошибку?

Любые идеи?

ответ

0

Итак, всего несколько минут назад я пытался захватить BinaryData из вложения и преобразовать его в строку, которую я мог прочитать, чтобы я мог визуально проверить ее содержимое. Поэтому я сделал это.

(new StreamReader(new MemoryStream(curAttachment.BinaryData))).ReadToEnd() 

Когда я сделал это, напечатанное эту ошибку:

"Evaluation copy of Aspose.Email limits to extract only 3 attachments in the messages. Please contact [email protected] to purchase a valid license." 

Вид странно, как я использую мою лицензию на производство, но в любом случае я пошел вперед и удалены некоторые приложения от родителя *. msg (ранее у него было 4) и попытался загрузить его снова. Тогда ... пуф ... он начал работать.

Кажется, что это должно исключить или что-то вместо этого, поскольку это сделало бы эту проблему намного легче отследить.

+0

Если это действительная лицензия на продукт Aspose.Email, она не должна повреждать вложение PDF (3 или более). Пожалуйста, сообщайте на форумах Aspose с образцом кода и MSG-файлом. –