2012-01-25 104 views
11

我想知道是否有一个简单的生成在德尔福PDF文件的缩略图。基本上我想把PDF的第一页渲染成一个小的位图(比如说100x100或类似的)。
我看到两个选项1使用PDF组件,2以某种方式点击浏览器如何生成预览/缩略图。德尔福PDF缩略图

回答

1

您可以在下的HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ PreviewHandlers下找到安装的预览处理程序列表(在Vista和Windows 7中)。

如果安装了任何PDF处理程序(例如安装了Acrobat Reader),则可以通过搜索以前找到的GUID来查找COM服务器。这与IPreviewHandler接口相结合可以引导您找到解决方案。

+1

看起来预览处理程序也在XP上的相同位置。 – Alister

11

使用类似QuickPDF或Gnostice的库真的是最简单的选择。我相当确信,浏览器中的PDF缩略图实际上是由Adobe安装的任何PDF软件生成的。除非您可以保证在每个工作站上安装了适当的PDF阅读器,否则使用缩略图的想法可能无效。

编辑:这是一个使用QuickPDF将给定PDF文件的第一页呈现为BMP文件的完整应用程序。在10 DPI我的输出BMP文件是85像素宽110像素高。

program PDFToBMP; 
{$APPTYPE CONSOLE} 
uses 
    SysUtils, QuickPDF; 
var 
    Q : TQuickPDF; 
begin 
    Q := TQuickPDF.Create; 
    try 
    Q.LoadFromFile(ParamStr(1), ''); 
    Q.RenderPageToFile(10 {DPI}, 1 {PageNumber}, 0 {0=BMP}, ChangeFileExt(ParamStr(1),'.bmp')); 
    finally 
    Q.Free; 
    end; 
end. 
1

或者,如果你有“时间”,你可以尝试使用GhostScript通过命令行或embedding it。迈克W.给你一个很好和简单的解决方案。我使用Gnostice,但还有许多其他PDF VCL解决方案。