【问题标题】:C# (or VB6) Convert Word doc to TiffC#(或 VB6)将 Word 文档转换为 Tiff
【发布时间】:2009-02-04 16:03:53
【问题描述】:

我正在开发一个有一百多个用户使用的 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,所以我希望任何新代码都已经存在,这样可以转换的更少。

编辑:我很欣赏这些建议,但我真的很想尝试在不使用昂贵的第三方组件的情况下做到这一点。很难让有钱的人看到花费数千美元来修复曾经免费工作的东西的好处。另外,我真的对自己推出它所需要的东西很感兴趣。有点自虐,我知道,但我开始编程是因为我渴望知道事情是如何运作的...... :)

感谢您的帮助!

【问题讨论】:

  • 您不能将执行 MODI 打印功能的库包含到您的应用程序中吗?
  • 当你说它“生成一个 word 文档”时,它是如何做到的?
  • 嗨乔尔,我拥有(并喜欢)你的书。 “产生”是错误的词;该应用程序(使用 Office.Interop)只是复制现有的商业信函,用名称和地址等替换占位符,并允许用户查看它。然后用户可以打印这封信并保存图像。

标签: c# vb6 ms-word tiff


【解决方案1】:

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

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

出于兴趣,现在可能是摆脱专有文档格式并将文档作为更易于管理的方式存储在数据库中的时候了吗?

【讨论】:

    【解决方案2】:

    您可以利用 Microsoft Windows 提供的标准“传真”驱动程序以编程方式将 Word 文档转换为 TIFF。这项工作的关键是确保 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
    

    【讨论】:

      【解决方案3】:

      试试Aspose.Word 组件

      【讨论】:

      • 感谢您的快速回复。我想到了一个第三方 dll,但我不知道我是否可以出售它,特别是因为它是为了保持现有(和正常运行的)应用程序正常工作。另外,我内心的极客想知道它是如何工作的,以及自己推出自己的产品有多难。知道从哪里开始吗?
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-25
        • 1970-01-01
        • 2015-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多