C#(或VB6)将Word doc转换为Tiff

时间:2009-02-04 16:03:53

标签: c# vb6 ms-word tiff

我正在研究一个由超过一百个用户使用的VB6应用程序。它生成Word文档,然后将文档的TIFF图像保存在数据库中。目前,它只是将打印机设置为Microsoft Office Document Image Writer,将文档“打印”到设置位置,然后将生成的TIFF文件导入数据库。但是,该组织正在将每个人升级到Office 07,这意味着Microsoft Office Document Image Writer正在消失。所以,我想知道以编程方式将Word转换为TIFF有多难 我们已经引入了一个C#(.NET 3.5)控件库作为COM,所以这似乎是一个放置功能的好地方。在某些时候,我将整个应用程序转换为3.5,所以我更希望任何新代码已经存在,所以转换的更少。

编辑:我很欣赏这些建议,但我真的很想在不使用昂贵的第三方组件的情况下尝试这样做。要花钱数千美元来解决以前免费工作的东西,这很难让钱家伙看到。另外,我真正感兴趣的是自己动手做什么。我知道,有点自虐,但是我进入了编程,因为我想知道事情是如何运作的... ...

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

据我所知(并且快速谷歌似乎证实了这一点),TIFF格式和DOC二进制格式规范都可以在网上免费获得。因此,这将是一个相当大而复杂的项目(我想的是几个月而不是几个星期),你可以编写代码来阅读DOC文档并填充对象模型。然后,您可以编写更多代码,然后将对象模型输出为TIFF文档。

但是,只要想想一些复杂性:表格,格式,字符集,间距,嵌入内容等等。呃!我想这就是为什么它通常是昂贵的第三方图书馆或专业文档管理系统的工作。

出于兴趣,这可能是时候放弃专有文档格式并将文档存储在数据库中作为更易于管理的内容吗?

答案 1 :(得分:1)

您可以使用标准"传真"以编程方式将Word文档转换为TIFF。随Microsoft Windows提供的驱动程序。这项工作的关键是确保OutputFileName的扩展名为" .tiff" 以下是示例代码(VB.net& Word 2010):

Dim objWdDoc As Word.Document
Dim objWord As Word.Application
Dim sDesktop As String = Environment.GetEnvironmentVariable("userprofile") & "\Desktop\"

objWord = CreateObject("Word.Application")
objWdDoc = objWord.Documents.Open(sDesktop & "testdocument.doc")
objWord.Visible = True

'Select Printer
objWord.ActivePrinter = "Fax"
'Print to Tiff
objWdDoc.PrintOut(Range:=WdPrintOutRange.wdPrintAllDocument, _
                      OutputFileName:=sDesktop & "test.tiff", _
                      Item:=WdPrintOutItem.wdPrintDocumentContent, _
                      PrintToFile:=True)
'Close Document
objWdDoc.Close()
'Close Word
objWord.Quit()
'General Cleanup
objWdDoc = Nothing
objWord = Nothing

答案 2 :(得分:0)

尝试Aspose.Word组件

答案 3 :(得分:0)

Microsoft Office Document Image Writer仍可在Office 2007中使用(至少使用Enterprise) - 它是可选组件。