KDE-Apps.org Applications for the KDE-Desktop 
 GTK-Apps.org Applications using the GTK Toolkit 
 GnomeFiles.org Applications for GNOME 
 MeeGo-Central.org Applications for MeeGo 
 CLI-Apps.org Command Line Applications 
 Qt-Apps.org Free Qt Applications 
 Qt-Prop.org Proprietary Qt Applications 
 Maemo-Apps.org Applications for the Maemo Plattform 
 Java-Apps.org Free Java Applications 
 eyeOS-Apps.org Free eyeOS Applications 
 Wine-Apps.org Wine Applications 
 Server-Apps.org Server Applications 
 apps.ownCloud.com ownCloud Applications 
 KDE-Look.org Artwork for the KDE-Desktop 
 GNOME-Look.org Artwork for the GNOME-Desktop 
 Xfce-Look.org Artwork for the Xfce-Desktop 
 Box-Look.org Artwork for your Windowmanager 
 E17-Stuff.org Artwork for Enlightenment 
 Beryl-Themes.org Artwork for the Beryl Windowmanager 
 Compiz-Themes.org Artwork for the Compiz Windowmanager 
 EDE-Look.org Themes for your EDE Desktop 
 Debian-Art.org Stuff for Debian 
 Gentoo-Art.org Artwork for Gentoo Linux 
 SUSE-Art.org Artwork for openSUSE 
 Ubuntu-Art.org Artwork for Ubuntu 
 Kubuntu-Art.org Artwork for Kubuntu 
 LinuxMint-Art.org Artwork for Linux Mint 
 Arch-Stuff.org Art And Stuff for Arch Linux 
 Frugalware-Art.org Themes for Frugalware 
 Fedora-Art.org Artwork for Fedora Linux 
 Mandriva-Art.org Artwork for Mandriva Linux 
 KDE-Files.org Files for KDE Applications 
 OpenTemplate.org Documents for OpenOffice.org
 GIMPStuff.org Files for GIMP
 InkscapeStuff.org Files for Inkscape
 ScribusStuff.org Files for Scribus
 BlenderStuff.org Textures and Objects for Blender
 VLC-Addons.org Themes and Extensions for VLC
 KDE-Help.org Support for your KDE Desktop 
 GNOME-Help.org Support for your GNOME Desktop 
 Xfce-Help.org Support for your Xfce Desktop 
openDesktop.orgopenDesktop.org:   Applications   Artwork   Linux Distributions   Documents    Linux42.org    OpenSkillz.com   


- Content .- Fans (5) .- Knowledge Base  . 

PdfViewer (app + library)


Qt Other Software

Score 77%
PdfViewer (app + library)

Downloads:  4855
Submitted:  Mar 20 2012
Updated:  Oct 1 2012


This is a simple program for viewing PDF files. There is also a library providing a PdfView widget which can be easily embedded in other programs.

The reason for writing this program is to have a lightweight Qt-only PDF viewer with the features that I want. As my time is limited, I probably won't have time to implement any feature requests for this program. Of course you should still post the requests, but they will likely end up in the TODO list. If you want to see additional features, sending patches will dramatically increase the chances of seeing the features implemented. Any developers are welcome to join this project.

  • "continuous" view mode (other view modes do not exist yet)

  • magnifying glass when clicking with the left mouse button on the page

  • reload PDF file when it is changed on disk by another program

  • links in "Table of Contents" are clickable

  • links in PDF file are clickable

  • search string in document

  • interface without menu bar (interface with menu bar can be obtained by changing the option in the configuration dialog and then restarting the program)

  • presentation mode

  • it is possible to modify the style of the buttons in the tool bar by clicking with the right mouse button on the toolbar

  • shortcut editing dialog

  • bookmarks mechanism

  • remember page positions and zoom factor per file throughout sessions

  • select image or text in a rectangular area

  • text selection

  • support for forward search and inverse search using synctex (it is also possible to compile this app+lib without synctex support)

  • printing

  • support for PDF forms

  • Note that the user interface can be completely controlled using the keyboard (except for the magnifying glass, selection and links). When no menu bar is shown, the items in the tool bar can be triggered using Alt + their accelerator. The "Open File" dialog can be accessed using the standard "Open" shortcut (in an English system this is usually "Ctrl+O").


    version 0.7
    - add support for PDF forms
    - move mouse tool changing actions to the library
    - make sure the library is installed in /usr/lib64 when appropriate
    - add option to print multiple pages on one page

    Send to a friend
    Other  Apps  from glad
    Report inappropriate content

    goto page: prev   1  2 


     5.1 at Fedora 16: error

     by TIEugene on: Jun 5 2012
    Score 50%

    [ 99%] Building CXX object app/src/CMakeFiles/pdfviewer.dir/qrc_pdfviewer.cxx.o
    Linking CXX executable pdfviewer
    /usr/bin/ld: CMakeFiles/pdfviewer.dir/__/__/lib/src/synctex/synctex_parser.c.o: undefined reference to symbol 'gzclose'
    /usr/bin/ld: note: 'gzclose' is defined in DSO /lib/libz.so.1 so try adding it to the linker command line
    /lib/libz.so.1: could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make[2]: *** [app/src/pdfviewer] Error 1
    make[1]: *** [app/src/CMakeFiles/pdfviewer.dir/all] Error 2
    make: *** [all] Error 2

    Reply to this


     Re: 5.1 at Fedora 16: error

     by glad on: Jun 5 2012
    Score 63%

    Try compiling using qmake. Alternatively add -lz to target_link_libraries in lib/src/CMakeLists.txt and be so kind to report if this works.

    Reply to this


     Re: 5.1 at Fedora 16: error

     by glad on: Jun 6 2012
    Score 63%

    The problem should be solved in version 0.6 (also when using cmake).

    Reply to this


     fillToc( pageNumber returns incorrect results

     by mj10777 on: Jul 11 2012
    Score 50%

    Your usage of the attributes 'DestinationName' and 'Destination' are incorrect.

    The String returned from 'Destination' is the result of LinkDestination.toString() that was created when document()->toc() is called in 'fillInfo'. This is an Array of 10 values, where by the array[1] and array[5] are needed to create the PageNumber.

    Why your code in creating Poppler::LinkDestination fails I cannot say, but when
    ld = data.doc->doc->findDest( data.namedDest );
    is called, no result is found and it returns pageNumber 0.

    This means that when the toc is clicked in your demo application, it will allways move to page 1.

    Here is a small diff that will correct this:

    diff -rupN original/tocdock.cpp modified/tocdock.cpp
    --- original/tocdock.cpp 2012-06-06 20:26:57.000000000 +0200
    +++ modified/tocdock.cpp 2012-07-11 04:58:34.359280108 +0200
    @@ -32,10 +32,12 @@ static void fillToc(Poppler::Document *d

    // for some unknown reason e.attribute("Destination") does not exist while Okular successfully uses it; so we cannot use Poppler::LinkDestination(e.attribute(QString::fromLatin1("Destination"))).pageNumber() and must use the following
    // const int pageNumber = doc->linkDestination(e.attribute(QString::fromLatin1("DestinationName")))->pageNumber();
    - Poppler::LinkDestination *dest = doc->linkDestination(e.attribute(QString::fromLatin1("DestinationName")));
    - const double pageNumber = dest->pageNumber() + dest->top();
    - delete dest;
    + // Poppler::LinkDestination *dest = doc->linkDestination(e.attribute(QString::fromLatin1("DestinationName")));
    + // const double pageNumber = dest->pageNumber() + dest->top();
    + // delete dest;
    + // LinkDestination.toString(): 0=kind;1=PageNr as int;2=left;3=bottom;4=right;5=top;6=zoom;7=changeLeft;8=changeTop;9=changeZoom
    + QStringList sa_LinkDestination_Values=e.attribute(QString::fromLatin1("Destination")).split(";");
    + const double pageNumber = sa_LinkDestination_Values[1].toDouble()+sa_LinkDestination_Values[5].toDouble();
    if (!parentItem) {
    newitem = new QTreeWidgetItem(tree, newitem);
    } else {

    ---end diff---

    after writing this I will also submit a diff to the poppler project to change the demo qt4 application so that it to will reacte correctly when a toc is clicked.
    I will quote this site, since it is your TocDock::goToPage slot logic that is missing in their 'toc.cpp' implementation.

    It would be nice if both demos would be updated so that the toc logic works correctly.
    Today any pdf-viewer where the toc does not work is in my opinion useless.
    Had the poppler project implemented in there demo, what you have allready done and docmented the return value of "Destination" properly (or at least showed the usage of it) - then I would not have had to spent hours searching for the cause of this.

    Reply to this



     by LazyKent on: Jul 11 2012
    Score 50%

    Thumbnails aren't displayed in the thumbnails panel.

    Reply to this


     Re: Thumbnails

     by mj10777 on: Jul 18 2012
    Score 63%

    This has nothing to do with this project.
    It is caused by the poppler-qt4 Class that does not support built in Thumbnails.

    A bug has been submitted to correct this.

    In poppler/qt4/src/poppler-page.cc in function Page::thumbnail()

    the following code must be added
    [starting with the 'else']:
    if (r)
    if (ret.width() > ret.height())
    ret = ret.scaled(w,h,Qt::IgnoreAspectRatio);

    Reply to this


     Persistent annotations

     by lionhater on: Oct 1 2012
    Score 50%

    Is it ever going to be possible to have persistant annotations like the latest Okular, that is, saved annotations which are readable by the recipients irrespective of their OSes?

    Reply to this


     Re: Persistent annotations

     by glad on: Oct 3 2012
    Score 50%

    I don't like the tone of this question. Did you ever pay me for developing this software? Did you ever contribute a working, maintainable patch that doesn't break anything? No, you didn't. So accept the fact that I don't write the software for you, I write it for me. Be happy that you can use it without contributing anything. My free time is limited, so the features will take long to be implemented, unless you or someone else starts contributing. That's the whole point of open source software after all: the developer publishes the code so that others can contribute. Up to now that didn't happen, so tell me: why would I continue to publish this program on this site?

    Reply to this


     Re: Re: Persistent annotations

     by lionhater on: Oct 3 2012
    Score 50%

    There are many things to say against your screech, but I'll just say these:

    1. The tone of my question was COMPLETELY SINCERE AND NEUTRAL one. I was just curious if it's in your to do list or not, if it's achievable or not. It only needs a mean-sprited effort to mis-interpret it something (even) like that: "Hey developer, for god's sake, when will you implement this feature?"

    2. I will never ever use your app.

    Reply to this


     Re: Re: Re: Persistent annotations

     by glad on: Oct 3 2012
    Score 50%

    "Is it ever going to be possible" sounds to me like "I am waiting for ages for this feature, so when is it finally going to be implemented?" A better phrasing would have been: "Are there any plans to implement persistent annotations?" or "Is it going to be possible in the future to have persistent annotations?"

    If there is anything else wrong in my remark, I would be happy to learn it.

    Reply to this



     by mrbit on: Mar 7 2013
    Score 50%

    Hi, please add link PKGBUILD https://aur.archlinux.org/packages/pdfviewer/
    for Archlinux. thanks.

    I can't print because it surrounds the filename to send to lp with literal quotes. fix with patch....?

    Reply to this


     thank you!

     by amkhlv on: Dec 9 2013
    Score 50%

    Dear Glad,
    thank you for your great work on pdfview. I especially appreciate that the program is very lightweight and with clean source code. I started my own fork, tuned to my specific personal needs:

    Please keep working on pdfview, I think this is the best available PDF viewer.

    Reply to this

    goto page: prev   1  2 

    Add commentBack

     Who we are
    More about us
    Frequently Asked Questions
    Updates on identi.ca
    Updates on Twitter
    Content RSS   
    Events RSS   

    Add App
    Public API
    About Qt-Apps.org
    Legal Notice
    Spreadshirt Shop
    CafePress Shop
    Sponsor us
    Report Abuse

    Copyright 2006-2016 Qt-Apps.org Team  
    All rights reserved. Qt-Apps.org is not liable for any content or goods on this site.
    All contributors are responsible for the lawfulness of their uploads.
    Qt is a trademarks of Nokia