如何在 C# 中从 doc docx 创建缩略图?

Posted

技术标签:

【中文标题】如何在 C# 中从 doc docx 创建缩略图?【英文标题】:How create thumbnail from doc docx in c#? 【发布时间】:2016-09-13 05:17:56 【问题描述】:

您好,我想从 doc docx 创建缩略图,实际上我使用库 Leadtools 但我有这个错误:

ExceptionFilter Leadtools.RasterException:文件格式无效 在 Leadtools.Codecs.RasterCodecs.CheckExceptions(Int32 代码) 在 Leadtools.Codecs.RasterCodecs.DoLoad(LoadParams loadParams) 在 Leadtools.Codecs.RasterCodecs.Load(String fileName, Int32 width, Int32 height, Int32 bitsPerPixel, RasterSizeFlags flags, CodecsLoadByteOrder order)

我想使用另一个库来创建缩略图。

【问题讨论】:

【参考方案1】:

LeadTools 是一个图像处理库,因此无法处理 DOCX 等非图像格式。

现有文章中介绍了读取 Windows 为其他文件创建的缩略图的能力;

C#/ASP.NET - Get thumbnail from PDF/DOC files 引用了此处的 Microsoft 文档 https://msdn.microsoft.com/en-us/library/aa289172.aspx,该文档解释了如何获取图像。 Microsoft 文档解释了如何在 SharePoint 中执行此操作,但示例位于 VB.net 中,因此应该很容易理解。

【讨论】:

谢谢完美的菲利普! 您的解决方案从 Windows 生成标准缩略图,而不是例如我的 word 文档的第一页.. 用 1 分钟的时间 google 出现了这个预览 DOCX 的项目。 blog.maartenballiauw.be/post/2008/01/11/…。 NTFS 缩略图是在不实际打开和解析 word 文档的情况下执行此操作的唯一方法。 所有 MSDN 链接现在都会出错。微软干得很出色,因为它破坏了贡献者在多个站点上建立的知识库【参考方案2】:

关于 LEADTOOLS 是“一个图像处理库,因此无法处理 DOCX 等非图像格式”的说法并不完全正确。对于某些格式,例如 Word、Excel、PowerPoint 和 PDF 文件(以及其他文件),该工具包可以将它们转换为图像,但前提是使用文档图像工具包。入门级 Imaging Pro 无法加载此类格式。此外,如果项目中缺少相应格式的编解码器程序集,您将收到“RasterException: Invalid file format”。

【讨论】:

以上是关于如何在 C# 中从 doc docx 创建缩略图?的主要内容,如果未能解决你的问题,请参考以下文章

在Yii2中从上传的图像创建缩略图

如何在 C# 中从 MS Office 文档中提取文本

在 C# 中从 .docx 文件的页眉和页脚获取图像

如何通过 C# 代码在 Android 上的 Unity3D 中创建图像缩略图?

怎么把doc文件转换成docx

C#/ASP.NET - 从 PDF/DOC 文件中获取缩略图