生成pdf缩略图(开源/免费)

And*_*ewB 27 .net c# pdf open-source image

查看其他帖子无法找到满足我需求的适当解决方案.试图将pdf文档的第一页作为缩略图.这将作为服务器应用程序运行,因此不希望将pdf文档写入文件,然后调用第三个读取pdf的应用程序以在磁盘上生成映像.

doc = new PDFdocument("some.pdf");
page = doc.page(1);
Image image = page.image;
Run Code Online (Sandbox Code Playgroud)

谢谢.

Pet*_*ter 26

Matthew Ephraim为Ghostscript发布了一个开源包装器,听起来像是你想做的并且在C#中.

链接到源代码:https://github.com/mephraim/ghostscriptsharp

链接到博客发布:http://www.mattephraim.com/blog/2009/01/06/a-simple-c-wrapper-for-ghostscript/

您可以对GeneratePageThumb方法进行简单调用以生成缩略图(或使用带有开始和结束页码的GeneratePageThumbs为多个单独的页面生成缩略图,每个页面都是单独的输出文件),默认文件格式为jpeg但是您可以通过使用备用GenerateOutput方法调用并指定选项(如文件格式,页面大小等)来更改它和许多其他选项...

  • 请注意,GhostScript本身只是非营利/开源项目的开源.对于企业和商业应用程序,您必须支付天文许可费... (9认同)

Iva*_*čin 20

我认为用于Microsoft .NET框架的Windows API代码包可能最容易实现.它可以生成与Windows资源管理器相同的缩略图(也就是第一页),并且您可以选择多种尺寸,它们最多可达1024x1024,因此它应该足够了.这很简单,只需创建ShellObject.FromParsingName(filepath)并找到它的Thumbnail子类.

问题可能是您的服务器.这适用于Windows 7,Windows Vista,我猜Windows Server 2008.此外,Windows资源管理器必须能够在该计算机上显示缩略图.确保这一点的最简单方法是安装Adobe Reader.如果所有这些都不是问题,我认为这是最优雅的方式.

更新:Adobe Reader在最新版本中放弃了对缩略图的支持,因此必须使用其旧版本.

更新2:根据Roberto的评论,如果您在编辑 - 首选项 - 常规中打开缩略图选项,您仍然可以使用最新版本的Adobe Reader.