我想知道在Delphi中是否容易生成PDF文件的缩略图。基本上我想将PDF的第一页呈现为一个小位图(例如100x100或类似) 我看到两个选项1使用PDF组件,2以某种方式挖掘探索器如何生成预览/缩略图。
答案 0 :(得分:12)
使用像QuickPDF或Gnostice这样的库真的是最简单的选择。我很确定浏览器中的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.
答案 1 :(得分:1)
您可以在 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ PreviewHandlers 下找到已安装的预览处理程序列表(在Vista和Windows 7中)。
如果安装了任何PDF处理程序(例如,安装了Acrobat Reader),则可以通过搜索之前找到的GUID来查找COM服务器。这与IPreviewHandler界面结合使用可以指导您找到解决方案。
答案 2 :(得分:1)
或者,如果您有“时间”,则可以尝试通过命令行或GhostScript使用embedding it。 Mike W.为您提供了一个简单易用的解决方案。我使用Gnostice,但还有许多其他PDF VCL解决方案。