The easiest way to read a Word document is probably to use Word itself. This article describes how to interface with Office using C#:http://msdn.microsoft.com/library/en-us/dnofftalk/html/office02072002.aspThen to write to PDF, you need a C# PDF library like this one:http://itextsharp.sourceforge.net/Your job is to figure out the mapping.
这是一个vb.net的例子,希望有帮助 Function ConvertFile(ByVal strSourceFileName As String) As String Dim pdf As ACRODISTXLib.PdfDistiller = New ACRODISTXLib.PdfDistiller() lblStatus.Text = "Converting file......" msWord = CreateObject("Word.Application") msWord.Application.Visible = True msWord.ActivePrinter = "Acrobat Distiller" msDoc = msWord.Documents.Open(strSourceFileName) msWord.ActiveDocument.PrintOut(False, False, , fileA & ".ps") ' Should check and quit word when done Do While msWord.BackgroundPrintingStatus > 0 Application.DoEvents() Loop CType(msDoc, Word._Document).Close(False) CType(msWord, Word._Application).Quit(False) ConvertFile = True pdf.FileToPDF(fileA & ".ps", fileA & ".pdf", "") 'pdf.DistillFile(fileA & ".ps", fileA, False) If File.Exists(fileA & ".ps") Then Kill(fileA & ".ps") End If If File.Exists(fileA & ".txt") Then Kill(fileA & ".txt") End If End Function
Dim pdf As ACRODISTXLib.PdfDistiller = New ACRODISTXLib.PdfDistiller()
lblStatus.Text = "Converting file......"
msWord = CreateObject("Word.Application")
msWord.Application.Visible = True
msWord.ActivePrinter = "Acrobat Distiller"
msDoc = msWord.Documents.Open(strSourceFileName)
msWord.ActiveDocument.PrintOut(False, False, , fileA & ".ps")
' Should check and quit word when done
Do While msWord.BackgroundPrintingStatus > 0
Application.DoEvents()
Loop
CType(msDoc, Word._Document).Close(False)
CType(msWord, Word._Application).Quit(False)
ConvertFile = True
pdf.FileToPDF(fileA & ".ps", fileA & ".pdf", "")
'pdf.DistillFile(fileA & ".ps", fileA, False) If File.Exists(fileA & ".ps") Then
Kill(fileA & ".ps")
End If If File.Exists(fileA & ".txt") Then
Kill(fileA & ".txt")
End If
End Function