Konvertieren Sie EML- und MSG-E-Mails in PDF in Java

EML und MSG sind beliebte E-Mail-Formate, die von MS Outlook zum Speichern von E-Mails verwendet werden. Es kann Fälle geben, in denen Sie den Inhalt von EML- oder MSG-Dateien aus Ihren Web- oder Desktop-Anwendungen freigeben müssen. Eine der am besten geeigneten Lösungen ist die Konvertierung von E-Mail-Dateien in das PDF-Format. In diesem Artikel erfahren Sie, wie Sie eine EML- oder MSG-E-Mail programmgesteuert in Java in PDF konvertieren.

Java EML und MSG to PDF Converter APIs

Um E-Mail-Dateien in PDF zu konvertieren, verwenden wir die Kombination aus Aspose.Email for Java und Aspose.Words for Java. Ersteres ist eine E-Mail-API, die eine Reihe von Funktionen zum Erstellen von E-Mail-Client-Anwendungen bietet. Während letzteres eine Textverarbeitungs-API zum Erstellen und Bearbeiten von Word-Dokumenten ist. Sie können die folgenden Maven-Konfigurationen verwenden, um die API in Ihren Java-Anwendungen zu installieren.

Repository:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
<repository>

Abhängigkeiten:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>22.3</version>
    <type>pom</type>
</dependency>

Außerdem können Sie die JARs der APIs über die folgenden Links herunterladen.

Konvertieren Sie eine EML- oder MSG-Datei in PDF in Java

Im Folgenden sind die Schritte zum Konvertieren einer EML- oder MSG-E-Mail in das PDF-Format in Java aufgeführt.

  • Laden Sie die E-Mail-Datei mit der Klasse MailMessage.
  • Speichern Sie die E-Mail-Nachricht in einem ByteArrayOutputStream-Objekt im standardmäßigen MHTML-Format.
  • Erstellen Sie eine Instanz der Klasse LoadOptions und legen Sie das Ladeformat als MHTML fest.
  • Instanziieren Sie die Klasse Document und übergeben Sie die Objekte ByteArrayOutputStream und LoadOptions als Parameter an ihren Konstruktor.
  • Konvertieren Sie die E-Mail mit der Methode Document.save(String, SaveFormat.PDF) in PDF.

Das Folgende ist der vollständige Code zum Konvertieren einer E-Mail-Nachricht in PDF in Java.

// E-Mail laden
FileInputStream fstream=new FileInputStream("email.eml");
MailMessage eml = MailMessage.load(fstream);

// Speichern Sie die Nachricht, um den Stream im MHTML-Format auszugeben
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());

// Laden Sie den Stream in das Word-Dokument
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);

// Auf Disc speichern
doc.save("converted.Pdf", SaveFormat.PDF);

// Oder zum Streamen speichern
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die APIs ohne Evaluierungseinschränkungen zu testen.

Live-Demo

Fazit

In diesem Artikel haben Sie gelernt, wie Sie EML- oder MSG-E-Mail-Nachrichten in Java in PDF konvertieren. Wir haben gezeigt, wie die Kombination von Aspose.Email und Aspose.Words verwendet wird, um die Konvertierung von E-Mail in PDF aus Java-Anwendungen heraus zu implementieren. Sie können auch die unten genannten Dokumentationen beider APIs durchsuchen. Sie können Ihre Fragen auch in unserem Forum posten.

Siehe auch