Aspose.Email for Java 連絡先アイテムからの添付ファイル抽出について

下記のコードしてmsgファイルから添付ファイルを抽出したいと考えています。

MapiMessage mapi= MapiMessage.fromFile(dataSource);
MapiAttachmentCollection attachments = mapi.getAttachments();

for (MapiAttachment attachment : attachments) {

try (FileOutputStream fos = new FileOutputStream(new File(outputPath));) {
    fos.write(attachment.getBinaryData());
} catch (Exception e) {
    e.printStackTrace();
}

}

通常のMailアイテムにSmartArtと数式オブジェクトを挿入した場合、
それらの画像データが抽出されます。

しかし、ContactアイテムにSmartArtと数式オブジェクトを挿入した場合は何も抽出されません。

Contactアイテムからこれらの画像データを抽出することは可能でしょうか。

使用バージョン: Aspose.Email for Java 18.2
サンプルデータ:attachment.zip (206.7 KB)

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

サンプル入力ファイルを分析すると、SmartArtは実際に連絡先のRTFメモに存在します。 Aspose.Email APIは、contact.getPersonalInfo()。getNotes()を使用して連絡先のメモを取得する機能を提供します。 しかし、そのようなデータをRTFファイルから抽出することは、APIの範囲内にはありません。 この点について、あなたに追加の助けとなることができるかどうかお知らせください。

ご返答ありがとうございました。

今後、Contactアイテムから数式やSmartArtなどの画像データを抽出可能になる予定はありますでしょうか。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

前述のように、RTF本体の処理はAspose.Email APIの機能ドメイン内にないため、APIはこの機能をサポートしていません。 この点についてご理解いただき、ありがとうございます。 APIについてさらにお問い合わせがありましたら、お知らせください。

ご返答ありがとうございました。

Contactアイテムから数式やSmartArtなどの画像データを抽出できるよう実装していただくことは可能でしょうか。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

この要件に関しては、メッセージRTF本体からそのような情報を抽出することは、Aspose.Email APIの領域にはありません。

ただし、Aspose.Words APIをAspose.Emailと組み合わせて使用すると、次のコードサンプルに示すように、スマートアートをRTFノートから取得できます。

Sample Code

 MapiMessage msg = MapiMessage.fromFile("173546\\contact.msg");

System.out.println(msg.getAttachments().size());

MapiContact contact = (MapiContact)msg.toMapiMessageItem();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

//save notes to byte array - Notes here are in RTF format
byte[] byteArray = contact.getPersonalInfo().getNotes().getBytes();

//Load the RTF file using Aspose.Words for Java API
Document doc = new Document(new ByteArrayInputStream(byteArray));

//Get the smart art object
Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);

//Save to disc as image
shape.getShapeRenderer().save("173546\\output_0.png", new ImageSaveOptions(SaveFormat.PNG));

取得方法を教えていただきありがとうございます。

Aspose.Email APIにContactアイテムから数式やSmartArtなどの画像データを抽出する機能が実装される予定はありますでしょうか。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

Aspose.Email APIを使用して、スマートアートやその他のメッセージ本体からのデータを抽出する計画は、APIのドメインには存在しないため、今後はこのような計画はありません。 Aspose.Wordsなどの他のAPIを使用して、メッセージのRTFコンテンツからそのような情報を抽出する必要があります。