2016-11-18 23 views
0

我想在gtk3 c代碼中按下按鈕時顯示PDF文件。其實,我想在幫助插入用戶手動按鈕,按下按鈕PDF文件時顯示:如何在gtk3 c代碼中按下按鈕來顯示PDF文件?

enter image description here

我插入按鈕(圖中放映),但我不能寫用戶手冊代碼功能顯示PDF文件。

我用 「poppler的」,包括

#include <C:\Users\Alireza\Desktop\poppler-0.18.4\poppler-0.18.4\glib/poppler.h> 

我最多的代碼。

我的職責是

void UserManual(GtkWidget *widget, gpointer data) 
{ 
    GtkWidget* win; 
GError* err = NULL; 


doc = poppler_document_new_from_file("C:/Program Files (x86)/Sepand64bit/logo/UserManual.pdf", NULL, &err); 
if (!doc) { 
    printf("%s\n", err->message); 
    g_object_unref(err); 
    //return 2; 
} 

page = poppler_document_get_page(doc, 0); 
if (!page) { 
    printf("Could not open first page of document\n"); 
    g_object_unref(doc); 
    //return 3; 
} 

int pages = poppler_document_get_n_pages(doc); 
printf("There are %d pages in this pdf.\n", pages); 
} 

但我有錯誤:

*錯誤LNK2001:解析外部符號poppler_document_get_page

*錯誤LNK2001:解析外部符號poppler_document_new_from_file

*錯誤LNK2001 :無法解析的外部符號poppler_document_get_n_pages

我認爲poppler以錯誤的方式暴露在我的代碼上。你會建議如何解決這個問題的想法?或者在互聯網上的哪些資源上可以找到幫助?

回答

0

如果您否則不需要與poppler的應用程序中顯示PDF文件,那麼我會建議採取更簡單的方法(雖然爲您提供對結果的控制較少),並使用

gtk_show_uri(gdk_screen_get_default(), "file:///path/to/UserManual.pdf", 
    GDK_CURRENT_TIME, &error); 

這將打開無論PDF文件的默認查看器是PDF文件。

+0

我使用此功能**不使用poppler的的**:\t空隙用戶手冊(的GtkWindow *贏) \t { 的GError *誤差= NULL; gdk_screen_get_default(),「file:/// C:/ Program Files(x86)/Sepand64bit/logo/UserManual.pdf」,GDK_CURRENT_TIME,&error); **它不顯示**。 –

相關問題