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 文件中获取缩略图的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Boot 显示从 MySQL 到 Thymeleaf 的文件(pdf、doc、ppt)
从 ftp 在 gridview 上显示数据 查看更多:C#ASP.NET