如何打开varbinary word doc作为HTML

时间:2011-01-25 17:24:28

标签: asp.net sql vb.net

我有一个问题,我几个月来都找不到答案。我将word doc简历存储为varbinary(max)。我可以根据全文搜索检索简历 - 没问题。但是使用以下代码将简历作为单词文档检索到.ashx文件中。我真的需要在网站上实现点击突出显示,以便用户可以查看返回的简历是否合适。我不认为这可以从.ashx文件中完成,所以我认为我需要能够在aspx页面中打开简历作为html并且可能使用javascript来执行热门突出显示或者可能只返回文本内容单词文档以某种方式操作文本,然后用html标签显示。我无法找到解决问题的任何地方。我真的希望有人能指出我正确的方向。

提前感谢任何建议。

Imports System.io
Imports System.Web
Imports System.Data
Imports System.Data.SqlClient

 

Public Class ReadResume : Implements IHttpHandler

Const conString As String = "Data Source=tcp:sql2k804.discountasp.net;Initial Catalog=SQL2008R2_284060_resumedata;User ID=SQL2008R2_284060_resumedata_user;Password=mypwd2314;"

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

Dim con As SqlConnection = New SqlConnection(conString)

Dim cmd As SqlCommand = New SqlCommand("Select ResumeDoc, DocTypeExtension From ResumeTable WHERE CandidateId=@CandidateId", con)

Dim CId As String = System.Web.HttpContext.Current.Request.QueryString("Para")
cmd.Parameters.AddWithValue("@CandidateId", CId)

Using con
con.Open()
Dim myReader As SqlDataReader = cmd.ExecuteReader
If myReader.Read() Then
   context.Response.Clear()
   context.Response.ClearContent()
   context.Response.ClearHeaders()
   Dim file() As Byte = CType(myReader("ResumeDoc"), Byte())
   Dim doc_type As String = CType(myReader("DocTypeExtension"), String)
   context.Response.ContentEncoding = System.Text.Encoding.UTF8
   context.Response.ContentType = "Application/msword"
   context.Response.AddHeader("content-disposition", "Candidate Resume")
   context.Response.BinaryWrite(file)
End If

End Using

End Sub



Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable

Get

Return False

End Get

End Property



End Class

1 个答案:

答案 0 :(得分:0)

您可以使用Microsoft Office COM组件处理Word文档。例如,这是将Word转换为HTML的方式:http://rongchaua.net/blog/c-convert-word-to-html/

<强>更新 还有其他解决方案。

如果您只有.docx(非.doc)文档,那么您可以使用此简单代码从docx文档中提取纯文本:http://www.codeproject.com/KB/office/ExtractTextFromDOCXs.aspx这是相同的代码:http://conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html

有一些用于读/写Word文档的商业库: http://www.aspose.com/categories/.net-components/aspose.words-for-.net/default.aspx http://www.cellbi.com/Products.aspx