Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net OpenOffice和MS Office格式转换为TIFF_.net_Components_File Format - Fatal编程技术网

.net OpenOffice和MS Office格式转换为TIFF

.net OpenOffice和MS Office格式转换为TIFF,.net,components,file-format,.net,Components,File Format,我正在寻找一套.NET组件(或转换解决方案),可以将源文档转换为一系列光栅图像(多页TIFF最好)。此外,它们必须支持使用嵌入文档(如Word文档中包含的文档),至少允许检索嵌入文档以进行进一步处理 应支持的文件格式: DOC和DOCX RTF XLS和XLSX PPT和PPTX ODT 消耗臭氧物质 ODP 很高兴有: PDF PDF/A HTML(最好是非基于IE的呈现-它将在服务器系统中使用) 味精(dtto) 我一直在研究Aspose的组件,这些组件似乎名声很好,但它们不支持Op

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

应支持的文件格式:

  • DOC和DOCX
  • RTF
  • XLS和XLSX
  • PPT和PPTX
  • ODT
  • 消耗臭氧物质
  • ODP
很高兴有:

  • PDF
  • PDF/A
  • HTML(最好是非基于IE的呈现-它将在服务器系统中使用)
  • 味精(dtto)
我一直在研究Aspose的组件,这些组件似乎名声很好,但它们不支持OpenOffice格式

我对供应商有很强的要求:

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

许可模式无关紧要,不需要免版税。预期用途是用于单个定制开发项目。

不知道任何现成的解决方案,但一种方法可能是将文档打印到postscript文件,并使用Ghostscript将其转换为TIFF。我敢肯定,对于您列出的大多数程序,这都可以通过编程实现(您可能需要针对MS Office和Open Office的不同解决方案)。例如,下面是我们在MS Powerpoint中使用的一个VBA片段,它使用Ghostscript打印机驱动程序将单个页面打印到postscript文件:

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

(通过.NET使用MS Office应用程序的COM接口与此VBA例程非常相似。)我不习惯OpenOffice API,但我认为以类似的方式了解其工作原理应该不会太难。

不知道任何现成的解决方案,但一种方法可能是将文档打印到postscript文件,然后使用Ghostscript将其转换为TIFF。我敢肯定,对于您列出的大多数程序,这都可以通过编程实现(您可能需要针对MS Office和Open Office的不同解决方案)。例如,下面是我们在MS Powerpoint中使用的一个VBA片段,它使用Ghostscript打印机驱动程序将单个页面打印到postscript文件:

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

(通过.NET使用MS Office应用程序的COM接口与此VBA例程非常相似。)我不习惯OpenOffice API,但我认为,以类似的方式找出它的工作原理应该不会太难。

很高兴看到有人问一个问题,他们实际上更愿意为处理文档转换的软件库付费。每个人似乎都希望这个解决方案是免费的,所以这是一个受欢迎的变化。谢谢Ben:-)我不太愿意依赖开源或其他免费项目来构建一个可以保存TB数据、使用寿命超过10年的系统。Leadtools可以从PDF转换,也可以转换为您列出的许多版本,但我不确定另一种方式,值得一看,值得一想。很高兴看到有人问一个问题,他们实际上更愿意为处理文档转换的软件库付费。每个人似乎都希望这个解决方案是免费的,所以这是一个受欢迎的变化。谢谢Ben:-)我不太愿意依赖开源或其他免费项目来构建一个可以保存TB数据、使用寿命超过10年的系统。Leadtools可以从PDF转换,也可以转换为您列出的许多版本,但我不确定另一种方法是否值得一看一想。在任何类型的自动互操作中使用Office软件包本身都不是此服务器端部署的选项。您可以从.NET使用Open Office的命令行界面保存为PDF,然后用GhostScript转换成TIFF。@Ondrej:我想你是要设计某种文档管理/归档系统?如果您想100%确保TIFF完全包含您将文档打印到纸张上时得到的内容,您必须选择“打印到文件”路线。当然,这可以在没有互操作的情况下完成,但我几乎不相信没有原始的Office应用程序(至少,我从来没有听说过)就有值得信赖的解决方案。即使是Open Office,在嵌入文档时也无法正确显示MS Office文档。在任何类型的自动互操作中使用Office软件包本身都不是此服务器端部署的选项。您可以从.NET使用Open Office的命令行界面另存为PDF,然后用GhostScript转换成TIFF。@Ondrej:我想你是要设计某种文档管理/归档系统?如果您想100%确保TIFF完全包含您将文档打印到纸张上时得到的内容,您必须选择“打印到文件”路线。当然,这可以在没有互操作的情况下完成,但我几乎不相信没有原始的Office应用程序(至少,我从来没有听说过)就有值得信赖的解决方案。即使是Open Office,在嵌入文档时也存在正确显示MS Office文档的问题。