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

Posted

技术标签:

【中文标题】C#/ASP.NET - 从 PDF/DOC 文件中获取缩略图【英文标题】:C#/ASP.NET - Get thumbnail from PDF/DOC files 【发布时间】:2013-07-05 12:59:48 【问题描述】:

我有一个 ASP.NET WebForms 应用程序(用 C# 编写),它允许用户使用 FileUpload 控件上传文件。

如果我可以从文件中自动生成缩略图,那就太好了。 JPG/PNG 等图像当然是微不足道的,但用户通常会上传 .DOC 和 .PDF 文件 - 有没有一种方法可以基本上将 .DOC 和 .PDF 文件转换为图像,以便获得缩略图?

谢谢!

【问题讨论】:

【参考方案1】:

您可以使用GhostScriptWrapper 直接从pdf 生成图像缩略图。您可以从GitHub 获取ghostScriptWrapper,或者您可以从nuget 包管理器解决方案中包含ghostscript.dll

【讨论】:

【参考方案2】:

理论上最有希望的方法是在服务器端这样做。因此,如果文件被上传,服务器可以生成预览图像。

在 Windows 上,会有几个选项。

a) Windows Shell 有办法做到这一点。不过这条路很危险。 b)https://filepreviews.io/ 是一项服务,但他们收费。 c) box 是另一个服务。

现在在 Linux 上,甚至可能是 Windows 子系统中的 Linux,可以使用一些命令行实用程序来完成。

a) 将文档转换为 pdf:

Convert DOC to PDF

b) 然后,获取 pdf 第一页的位图,使用 ghostscript。 ghostscript 也适用于 .NET 和 Windows。

Bitmap of PDF First Page

【讨论】:

【参考方案3】:

对于 PDf,您可以从 websupergoo 尝试 ABCPDF。有了它,您应该能够生成缩略图, 从 PDF 创建 PNG 的文档链接。 http://www.websupergoo.com/helppdf8net/source/4-examples/19-rendering.htm

同样对于 Doc,它有点复杂,您必须在托管应用程序的服务器上安装办公应用程序,然后从那里操作图像。

看看这篇文章。它允许您提取 Windows 资源管理器用于 Office 文档和常规图像的缩略图。 http://msdn.microsoft.com/en-us/library/aa289172.aspx

【讨论】:

以上是关于C#/ASP.NET - 从 PDF/DOC 文件中获取缩略图的主要内容,如果未能解决你的问题,请参考以下文章

使用c#asp.net从excel文件中获取数据

使用 Spring Boot 显示从 MySQL 到 Thymeleaf 的文件(pdf、doc、ppt)

从 ftp 在 gridview 上显示数据 查看更多:C#ASP.NET

从 asp.net 打开任何文件

如何从 ASP.net C# 中的字符串中提取 C#/PHP/Code/SQL

c#asp.net网站用MediaElement播放mp3文件