有谁知道RTF到HTML转换器的任何vbscript/javascript实现?javascript vbscript从rtf转换为html
我在VB/c#中看到了一些,但是找不到任何对脚本版本的引用。在我开始编写之前 - 有谁知道现有的开源项目处理这个?
非常感谢,
弗兰科
有谁知道RTF到HTML转换器的任何vbscript/javascript实现?javascript vbscript从rtf转换为html
我在VB/c#中看到了一些,但是找不到任何对脚本版本的引用。在我开始编写之前 - 有谁知道现有的开源项目处理这个?
非常感谢,
弗兰科
如何舒服你是用PHP?这个类看起来有窍门,所以你可以按原样使用它,或者转换为Javascript,甚至可以用作指导。
弗兰克 -
你没有指定你的目标的平台。但是,您提到的VBScript和Javascript的事实表明您至少使用基于Windows的机器。如果是这样,并且您有权访问Word的一个版本,则可以使用自动执行转换的脚本,将Word用作进程外服务器。即使那样,你也没有真正说过这是从Windows会话还是通过Web服务器完成的。
如果你想从Windows会话做到这一点,你可以用下面的VBScript,通过Windows脚本宿主运行:
[Rtf2Html.vbs]
Option Explicit
Private Sub ConvertToHtml(documentFileName)
Const wdFormatHTML = 8
Dim fso
Dim wordApplication
Dim newDocument
Dim htmlFileName
On Error Resume Next
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
documentFileName = fso.GetAbsolutePathName(documentFileName)
If Not fso.FileExists(documentFileName) Then
WScript.Echo "The file '" & documentFileName & "' does not exist."
WScript.Quit
End If
Set wordApplication = WScript.CreateObject("Word.Application")
If Err.Number <> 0 Then
Select Case Err.Number
Case &H80020009
WScript.Echo "Word not installed properly."
Case Else
ShowDefaultErrorMsg
End Select
wordApplication.Quit
WScript.Quit
End If
Set newDocument = wordApplication.Documents.Open(documentFileName, False)
If Err.Number <> 0 Then
Select Case Err.Number
Case Else
ShowDefaultErrorMsg
End Select
wordApplication.Quit
WScript.Quit
End If
' Construct a file name which is the same as the original file, but with a different extension.
htmlFileName = Left(documentFileName, InStrRev(documentFileName, ".")) & "htm"
newDocument.SaveAs htmlFileName, wdFormatHTML
newDocument.Close
wordApplication.Quit
End Sub
Private Sub Main
Dim arguments
Set arguments = WScript.Arguments
If arguments.Count = 0 Then
WScript.Echo "Missing file argument."
Else
ConvertToHtml arguments(0)
End If
End Sub
bad
Private Sub ShowDefaultErrorMsg
WScript.Echo "Error #" & CStr(Err.Number) & vbNewLine & vbNewLine & Err.Description
End Sub
Main
如果你想从网络服务器使用它,事情有点不同。您可以将VBScript改编为ASP页面,或将其转换为ASP.NET页面。无论如何,你将不得不用适当的内部对象替换WSH对象。但是,需要注意的是:虽然可以使用IIS中的进程外服务器,但通常这是一个坏主意,除非您知道这将是极低容量的服务器。即使如此,Word可能使用GUI元素的事实使得这可能很危险,因为Word可能会在某种错误情况下显示对话。
在这种情况下,最好从服务器脚本中退出Windows脚本宿主代码以断开两个进程的连接,而是在适当的延迟后返回一个客户端拉的页面。
谢谢你 - 完美的地方给我开始,非常感谢Gausie! – frank 2009-11-27 16:20:32
你能发布一个不会过期的链接吗? – rafalry 2010-12-08 14:01:50
-1链接已死。这就是为什么当人们在没有解释的情况下发布链接时我讨厌它。 – 2012-01-17 20:52:57