Delphi中的PDF缩略图
我想知道是否有一种在Delphi中生成PDF文件缩略图的简单方法。基本上,我希望将PDF的第一页呈现为一个小位图(例如100x100或类似的位图)。Delphi中的PDF缩略图,delphi,pdf,thumbnails,Delphi,Pdf,Thumbnails,我想知道是否有一种在Delphi中生成PDF文件缩略图的简单方法。基本上,我希望将PDF的第一页呈现为一个小位图(例如100x100或类似的位图)。 我看到两个选项1使用PDF组件,2以某种方式点击资源管理器如何生成预览/缩略图。您可以在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandler下找到已安装的预览处理程序列表(在Vista和Windows 7中) 如果安装了任何PDF处理程序(例如,安装Acrobat Reader时
我看到两个选项1使用PDF组件,2以某种方式点击资源管理器如何生成预览/缩略图。您可以在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandler下找到已安装的预览处理程序列表(在Vista和Windows 7中)
如果安装了任何PDF处理程序(例如,安装Acrobat Reader时),您可以通过搜索之前找到的GUID来查找COM服务器。这与界面相结合可能会引导您找到解决方案 使用QuickPDF或Gnostice这样的库确实是最简单的选择。我相当肯定,explorer中的PDF缩略图实际上是由安装的任何PDF软件(如Adobe)生成的。除非你能保证每个工作站上都安装了正确的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.
或者,如果您有“时间”,您可以尝试使用命令行或。Mike W.给了你一个简单的解决方案。我使用Gnostice,但还有许多其他PDF VCLs解决方案。看起来预览处理程序在XP上也位于同一位置。