我有一个ASP.NET WebForms应用程序(用C#编写),允许用户使用FileUpload控件上传文件。
如果我可以自动从文件生成缩略图,那将是多么美妙。像JPG / PNG这样的图像当然是微不足道的,但是用户经常上传.DOC和.PDF文件 - 有没有办法可以将.DOC和.PDF文件转换为图像,这样我就可以获得缩略图了?
谢谢!
答案 0 :(得分:0)
对于PDf,您可以尝试使用websupergoo中的ABCPDF。有了它你应该能够生成一个缩略图, 用于从PDF创建PNG的文档链接。 http://www.websupergoo.com/helppdf8net/source/4-examples/19-rendering.htm
对于Doc来说,它有点复杂,您将不得不在托管应用程序的服务器上安装Office应用程序,并从那里操纵图像。
看看这篇文章。它允许您提取Windows资源管理器用于Office文档和常规图像的缩略图图像。 http://msdn.microsoft.com/en-us/library/aa289172.aspx
答案 1 :(得分:0)
在纸上,最有希望的方法是在服务器端这样做。因此,如果文件已上传,则服务器可以生成预览图像。
在Windows上,会有一些选择。
a)Windows Shell可以做到这一点。不过这条路很危险。 b)https://filepreviews.io/是一项服务,但需要付费。 c)box是执行此操作的另一项服务。
现在在Linux甚至Windows子系统中的Linux上,可以使用某些命令行实用程序来做到这一点。
a)将文档转换为pdf:
b)然后,获取pdf第一页的位图,并使用ghostscript。 .NET和Windows也存在ghostscript。
答案 2 :(得分:0)
对于PDF,您可以在这里找到我的答案:Generate a pdf thumbnail (open source/free)
请注意,这是唯一合法的答案,而无需支付任何其他软件费用-如果您未按照其条款使用某些开源软件,则会获得大量许可。
据我所知,OpenOffice会生成这样的缩略图,因此对于文档文件也应该容易使用此答案。
答案 3 :(得分:0)
您可以使用GhostScriptWrapper
直接从pdf生成图像缩略图。您可以从https://github.com/mephraim/ghostscriptsharp
获得ghostScriptWrapper,也可以从nuget软件包管理器解决方案中包含ghostscript dll
。
答案 4 :(得分:-1)
客户端,我没有发现任何有用的信息。
但是,在服务器端,可以选择先将.docx
和.xlsx
文件转换为临时PDF文件,然后创建缩略图。第一步使用Microsoft.Office.Interop
,第二步使用Microsoft.WindowsAPICodePack.Shell.ShellFile
。
Here is an article可能会帮助您