如何将office文件转换成图片

How to convert office file to image

我最近两天在搜索,但没有找到任何东西。

我的要求是在我的网络应用程序 (C#.Net) 中创建一个文档查看器,我不想为此使用任何第三方工具。我可以将文件转换为图像或 PDF 格式或可以轻松呈现在网页上的任何常见格式吗?我也不能使用 Introp 对象。

任何帮助将不胜感激

如果您不能在您的解决方案中使用 COM/Interop 技术,您可以查看专门的第 3 方选项。我看到您不想使用它们,但是,.NET Framework 中没有现有的内置解决方案。查看 my answer in a similar thread that describes how to accomplish exactly the same task using 3rd party libraries (for example, DevExpress, since I have experience with it). In addition, take a look at the Documents 演示,您可以在其中了解如何从不同类型的 MS Office 文档创建 images/thumbnails。

我相信您需要的是文档的中间表示,可以将其转换为图像以供查看器显示。

让我试着用下图来解释一下:

您在其中一条评论中提到您想自己编写所有代码,但不知道从哪里开始。以下是我的处理方式...

首先,您需要熟悉 Microsoft Office 格式规范。您可以找到 here(技术规范中有一个 link)。 Office 文档实际上是一个 .zip 文件,里面有一个 XML 文件以及代表附件的任何二进制数据。只需将一个 .docx 文件重命名为 .zip,您就可以打开它并看到 XML 和里面的任何其他支持文档(xlsx 等也是如此...)。

然后您需要非常熟悉 PDF 或 HTML,因为您现在的工作是将各种 Office 文档结构转换为 PDF 或 HTML 结构,确保尊重页面布局、页边距、顺序等...

正如其他人所说,这是一项艰巨的任务,这就是今天存在第三方工具的原因。此外,每个第三方工具集都有其局限性,因为这在所有情况下都很难 "get right" 并且会有一些边缘情况适用于一个文档而不适用于另一个文档(因为他们可能没有使用 Microsoft Word 来保存.docx,也许他们使用的是 OpenOffice,而 OpenOffice 对标准的解释略有不同...)

您可以使用 smallpdf 或 OfficeToPDF 等工具来执行此操作。只需将它们集成到您的应用程序中即可。

小 PDF(https://smallpdf.com/library-detail)

officetopdf (https://officetopdf.codeplex.com/)