2012-01-25 110 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解決方案。