有誰知道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