我有1000封电子邮件(.msg格式),我想将它们转换为PDF文件。
已经询问了.MSG文件here。
但对我来说问题是打印.msg电子邮件,就像你从“文件 - >打印”那样打印。
是否有简单的方法将.msg电子邮件打印为PDF?
答案 0 :(得分:1)
如果您希望使用编程语言实现解决方案而不是手动打印每条消息,则可以考虑使用Aspose.Network和Aspose.Words for .NET组件。他们共同努力将MSG文件转换为PDF。
查看this page的示例代码。它将MSG改为TIFF,但您可以稍微修改并提供任何支持的格式,包括PDF,DOC,DOCX等。
答案 1 :(得分:0)
Dim objItem, objFSO, strFile, input, fileExt, strHtml, strPdf, msg, wordDoc, wordApp, tempFileFolder
Const olFormatHTML = 5
Const wdFormatPDF = 17
input = Wscript.Arguments(0)
' Create a File System object
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
' Check if the Word document exists
If objFSO.FileExists(input) Then
Set objItem = objFSO.GetFile(input)
strFile = objItem.Path
Else
WScript.Echo "FILE OPEN ERROR: The file does not exist" & vbCrLf
WScript.Quit
End If
fileExt = Right(strFile,3)
If fileExt <> "msg" Then
WScript.Echo "FILE ERROR: The file extension is not .msg" & vbCrLf
WScript.Quit
End If
strHtml = objItem.Path + ".html"
strPdf = objItem.Path + ".pdf"
Set Outlook = CreateObject("Outlook.Application")
Set msg = Outlook.CreateItemFromTemplate(objItem.Path)
msg.SaveAs strHtml, olFormatHTML
Outlook.Quit
Set wordApp = CreateObject( "Word.Application" )
wordApp.Documents.Open strHtml
Set wordDoc = wordApp.ActiveDocument
wordDoc.SaveAs strPdf, wdFormatPDF
wordDoc.Close
wordApp.Quit
If objFSO.FileExists(strHtml) Then
objFSO.DeleteFile(strHtml)
End If
tempFileFolder = objItem.Path & "_files"
If objFSO.FolderExists(tempFileFolder) Then
objFSO.DeleteFolder(tempFileFolder)
End If
答案 2 :(得分:-1)