2010-02-24 64 views
1

我有一個簡單的Win32應用程序寫在C中,我想打開PDF文件。我知道我可以編譯並鏈接到Poppler庫,但是有沒有辦法使用Acrobat Reader?有點像瀏覽器所做的,如果你安裝了Reader,它們可以通過一些插件界面自動在窗口中顯示PDF。問題是,我從來沒有使用過插件,沒有寫過這樣的接口。如何?之後是否可以安裝Reader,並以某種方式讓應用程序知道它的存在?Win32和Acrobat

我也想控制縮放。以及PDF在內存中的含義。

編輯: :

我剛剛發現這個[1]「如果您已經安裝了Adobe Reader,你可以在VisualStudio中添加COM參考PDF瀏覽器ActiveX控件和使用它WindowsFormsHost控件內。」 但我不明白它說什麼:我如何創建「COM參考」,並在普通的Win32 C中使用「WindowsFormsHost」?

[1] PDF Libraries to Display a PDF document in WPF

+0

[Win32:顯示PDF]的可能的副本(http://stackoverflow.com/questions/2330336/win32-displaying-pdf) – dns 2016-02-18 18:10:39

回答

1

在窗口,如果你鍵入mypdf.pdf,打在命令提示符回報打開它在相關應用程序(在大多數情況下,ADOBE READER)的PDF文件。所以在c#中我開始一個新的進程,使用pdf作爲文件來運行

你應該可以在c中做類似的事情而不用打擾插件。

+0

是的,但我也想控制,比如縮放。還有什麼PDF可以在內存中,以及.. – 2010-02-24 21:44:17

+0

@Lars - 我敢肯定,你不能自動化Adobe Reader的。你需要一個第三方插件來做到這一點。 – Nifle 2010-02-24 22:10:47

+0

「第三方」是什麼意思?一個Acrobat插件?反過來,我的應用程序控制哪個? – 2010-02-24 22:32:27

1

除了什麼Nifle說,如果不是運行它作爲一個單獨的應用程序要運行的Acrobat Reader作爲您的應用程序窗口內的插件(如例如IE運行它IE的窗口中),Adobe Acrobat Reader download page說,

Internet Explorer的ActiveX控件和Netscape Navigator的插件都包含在內,並自動安裝在您選擇的瀏覽器中。

插件技術可能是名爲ActiveX的技術。