2010-11-17 99 views
2

我正在寻找一组允许将源文档转换为一系列光栅图像的.NET组件(或转换解决方案)(多页TIFF将是最好)。此外,他们必须支持使用嵌入式文档(如Word文档中包含的文档),至少允许检索嵌入式文档以进行进一步处理。OpenOffice和MS Office格式转换为TIFF

  • DOC和DOCX
  • RTF
  • XLS和XLSX
  • PPT和PPTX
  • ODT
  • ODS
  • ODP
  • :这应该被支持

    文件格式

最好有:

  • PDF
  • PDF/A
  • HTML(优选非IE基于渲染 - 这将在服务器系统中使用的)
  • MSG(dtto)

我一直在寻找Aspose的组件,它似乎具有良好的声誉,但它们不支持OpenOffice格式。

我有厂商相当强的要求:

  • 没有一个人的商店或开源项目与不确定的未来
  • 应该是一个商业产品
  • 必须提供商业优先支持
  • 作为维护订购的一部分,必须具有未来格式更新的兼容性保证

许可模式并不重要,不需要免版税。预期用途是针对单个定制开发项目。

+0

很高兴看到有人提出问题,他们实际上更喜欢支付处理文档转换的软件库。每个人似乎总是想要免费的解决方案,所以这是一个值得欢迎的改变。 – 2010-11-17 17:47:13

+0

感谢Ben :-)我有点不情愿依靠开源或其他免费项目来建立一个可以容纳超过10年寿命的TB级数据的系统。 – 2010-11-17 17:51:21

+0

Leadtools可以从PDF转换,并可以转换为您列出的许多,但我不确定其他方式,值得一看。 – 2010-11-17 18:37:05

回答

0

不知道任何开箱即用的解决方案,但一种方法可能是将文档打印到postscript文件并使用Ghostscript将它们转换为TIFF。我非常肯定,这可以通过编程的方式为您列出的大多数程序完成(您可能需要不同的MS Office和Open Office解决方案)。例如,下面是我们懂MS PowerPoint中使用使用Ghostscript的打印机驱动程序打印单页到PostScript文件中的VBA代码片段:

Sub CreatePostscriptfile(filename As String, pageNo As Integer) 
    With ActivePresentation.PrintOptions 
     .RangeType = ppPrintCurrent 
     .NumberOfCopies = 1 
     .Collate = msoTrue 
     .OutputType = ppPrintOutputSlides 
     .PrintHiddenSlides = msoTrue 
     .PrintColorType = ppPrintColor 
     .FitToPage = msoFalse 
     .FrameSlides = msoFalse 
     .ActivePrinter = "Ghostscript PDF" 
    End With 
    ActivePresentation.PrintOut From:=Str$(pageNo), To:=Str$(pageNo), _ 
      PrintToFile:=filename 
End Sub 

(使用MS Office应用程序的COM接口通过.NET看起来非常就像这个VBA例程一样)。我不习惯OpenOffice API,但我认为不应该太难以弄清楚它是如何以类似的方式工作的。

+1

在任何种类的自动化互操作中使用Office软件包本身不是此服务器端部署的选项。 – 2010-11-17 18:31:51

+1

您可以使用.NET中的Open Office命令行界面保存为PDF,然后使用GhostScript转换为TIFF。 – mbeckish 2010-11-17 18:40:11

+0

@Ondrej:我怀疑你打算设计某种文档管理/存档系统?如果您想100%确定TIFF将准确地包含将文档打印到纸张时获得的内容,则必须执行“打印到文件”路线。 AFAIK这可以在没有互操作的情况下完成,但我几乎不相信没有原始的Office应用程序就有可靠的解决方案(至少,我从来没有听说过)。即使Open Office在嵌入式文档方面也存在问题,无法正确显示MS Office文档。 – 2010-11-17 20:31:31