javascript vbscript从rtf转换为html

javascript vbscript从rtf转换为html,javascript,vbscript,rtf,Javascript,Vbscript,Rtf,有人知道RTF到HTML转换器的vbscript/javascript实现吗 我在VB/c中看到了一些,但找不到任何对脚本版本的引用。在我开始写之前,有人知道有一个现有的开源项目处理这个问题吗 非常感谢, Franko您对PHP的使用感觉如何?这个类似乎做到了这一点,因此您可以按原样使用它,或者将其转换为Javascript,甚至可以将其用作指南 坦率的- 您没有指定目标平台。但是,您提到的VBScript和Javascript表明您至少使用的是基于Windows的机器。如果是这样,并且您可以访

有人知道RTF到HTML转换器的vbscript/javascript实现吗

我在VB/c中看到了一些,但找不到任何对脚本版本的引用。在我开始写之前,有人知道有一个现有的开源项目处理这个问题吗

非常感谢,


Franko

您对PHP的使用感觉如何?这个类似乎做到了这一点,因此您可以按原样使用它,或者将其转换为Javascript,甚至可以将其用作指南

坦率的-

您没有指定目标平台。但是,您提到的VBScript和Javascript表明您至少使用的是基于Windows的机器。如果是这样,并且您可以访问Word的一个版本,您可以使用一个脚本来自动转换,将Word用作进程外服务器。即使这样,您也没有真正说明这是通过Windows会话还是通过web服务器完成的

如果要从Windows会话执行此操作,可以使用Windows脚本主机运行的以下VBScript:

[Rtf2Html.vbs]

如果您想在Web服务器上使用它,事情就有点不同了。您可以调整ASP页面的VBScript,或将其转换为ASP.NET页面。在任何情况下,都必须用适当的内部对象替换WSH对象。但是,请注意:虽然可以从IIS使用进程外服务器,但这通常不是一个好主意,除非您知道这将是一个极低容量的服务器。即便如此,Word可能会使用GUI元素这一事实也会造成潜在的危险,因为Word可能会在某些错误情况下显示对话


在这种情况下,最好通过从服务器脚本剥离到Windows脚本主机代码来断开这两个进程的连接,并在适当的延迟后返回一个客户端拉取的页面。

Hi Mark,这是一个非常全面和有用的答案!我应该在脚本中指定我需要做这件事——但这是一个惊人的反应!just in script=不依赖外部对象谢谢-非常适合我开始,非常感谢Gausie!你能发布一个不会过期的链接吗?-1个链接已失效。这就是为什么我讨厌人们在没有解释的情况下发布链接。无论我发布什么,都会与此难以置信地相似:
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