Currently I need to highlight certain sections in PDFs, or add annotations (comments/notes). These modifications would need to be saved.
What tools are out there to do this on Ubuntu?
Okular supports PDF annotations.
To save the highliting/annotations directly in the PDF document, choose "File" -> "Save as..." and create a new PDF which will contain your edits.
Edit: Inkscape supports PDF editing (one page at a time) and most people seem not to be aware of this so I'm adding it to the answer.
Recently a new version of Foxit Reader is released for Linux. It has the highlighting and annotating support. It has more annotation options than Okular, including inline notes with transparent background, drawing of various shapes etc.
How to install Foxit Reader in Ubuntu is explained in this AskUbuntu answer: Install FoxitReader
Actually, none of these solutions work half as well as anything on Windows or Mac OS. Mendeley only supports yellow highlighting and importing pdfs into Inkscape or OpenOffice is pretty inconvenient if you want to read a paper and simply make some annotations.
Fortunately, there are some free pdf viewers for Windows that work flawlessly with wine (If you find wine too complicated, use PlayOnLinux - a great front end for wine configuration). One of the best of those viewers is the PDF-XChange Viewer by Tracker Software. There is a free version that comes with a ton of annotation features, session saving etc. Grab it here:
And check out this screenshot:
I really wish there was a working open source Linux alternative (xournal is good but too limited). But for the time being, I am happy with using wine.
Future version of Evince will support PDF annotation and highlight. Here you can see a video of the first partial implementation, made by Carlos Garcia Campos
If you want to try I think you need to have at least evince 2.32 and recompile yourself latest version of Poppler cloning from the git repository:
git clone git://git.freedesktop.org/git/poppler/poppler
Here the launchpad bug of this missing feature from evince (poppler packaged for Maverick isn't enough updated).
21 april 2011 - Update Evince in Natty now support by default annotations (not highlighting). Evince in Natty is 2.32, poppler is 0.16.4.
08 March 2017 Update Evince in Ubuntu 16.04 supports highlighting.
xournal is also some software which you use for this task.
The evince package which is built-in in Ubuntu and is called Document Viewer can add annotations to PDFs.
Evince 3.18.2 from the Ubuntu 16.04 default repositories has support for highlight annotations and moving annotation icons to a different position on the page.
If you do not have a visible side pane on the left side of the opened document's window, click View -> Side Pane or press F9 to make the side pane visible. At the top of this side pane, there is a dropdown menu with options like Thumbnails, Index and Annotations (some of which may be dimmed for some documents).
Select Annotations from the dropdown menu. You should now see List and Add tabs under the dropdown menu.
In Ubuntu 16.04 and later, click the toolbar icon that looks like a notepad. A new toolbar will appear under the toolbar with two icons for adding text annotations and adding highlight annotations.
Select the Add tab.
Click on the icon to add an annotation.
In Ubuntu 16.04 and later, the icon for adding a text annotation looks like piece of paper with a + in the upper right corner (marked by a diagonal yellow arrow in the below screenshot), and the icon for adding a highlight annotation looks like a piece of paper with three black blocks on it.
Click on the spot in the document window you would like to add the annotation to, preferably a blank spot where the annotation will not cover anything else in the document. Your annotation window will open.
Type your text into the annotation window. You can resize the note by clicking and holding the left mouse button on one of the bottom corners of the note, and moving it around.
Close the note by clicking on the x in the top corner of the note. You might need to hover over the x with the mouse to make it visible.
When you want to go an annotation click on the icon for it. If you can't see the annotation icons, then unfold the little black arrows to the left of the page numbers in the side pane to show them. The text annotation icon looks like a piece of paper with a pencil over it in Ubuntu 14.04 and it looks like a pencil in Ubuntu 16.04. The highlight annotation icon looks like a piece of paper in Ubuntu 16.04.
When you close the document you will be asked if you want to save the changes you made to it.
In Evince 3.31 and later the keyboard shortcut for adding a text annotation will be s and the keyboard shortcut for adding a highlight annotation will be Ctrl+H. Evince >=3.32 is installed by default in Ubuntu 19.04 and later, and it can also be installed as a snap package in all currently supported versions of Ubuntu with these commands:
sudo snap install evince sudo snap install gnome-3-28-1804 sudo snap connect evince:gnome-3-28-1804 gnome-3-28-1804
The evince snap package makes the highlight text feature available to all currently supported versions of Ubuntu, otherwise the evince apt package in 18.04 and later also has the highlight text feature.
Click the pencil icon in the upper left corner. In some versions of Evince there is a small notebook icon instead of a pencil icon in the upper left corner.
Click the Highlight text button in the upper left corner.
Select some text with the mouse and it will be highlighted.
When you close the document you will be asked if you want to save the changes you made to it.
There is a package called pdfedit that can do this.
-------------- EDIT March 2018 --------------
Having used multiple pdf viewers editors, and after 6 years (!) of asking this question, I settled in two different tools for different purposes:
Mendeley Desktop is an excellent reference managers and it works flawlessly in most Ubuntu versions. It is ideal for papers and academic writing and supports notes and highlights synchronization.
Evince (or Document Viewer), the default pdf viewer as of Ubuntu 18.04 also supports highlighting and annotations. To show the annotations menu bar, you must click on the red circle (see below). The annotation options appear and you can annotate or highlight as seen in the blue circle in the image below.
For me the best solution was PDF X-Change Viewer.
It just installs and works flawlessly under Wine. (Source)
The only issue is that sometimes when you scroll fast it shows some white spaces over the text, that clear when you click or select a line in the document.
There is an option in the Edit menu under Preferences\Performance\Threads Usage: "Use synchronous mode of page rendering" which prevents those white spaces in mine.
Now you can actually export annotations to PDFs in Okular (this was not possible until recently): http://docs.kde.org/stable/en/kdegraphics/okular/annotations.html
It seems Okular has to be built with Poppler at least version 0.20. It works with Ubuntu 13.04.
There's a plugin for OpenOffice.org that does this.
Master PDF Editor is a good software for annotating PDFs. There is a free version for non-commercial use.
I think it works just like Foxit reader for windows. Advantages over okular:
Disadvantage over okular:
It uses too much RAM.
I was searching for exactly the same. For me, qpdfview works like a charm, is simple to use and lightweight. Its annotations and text highlighting is recognised in Adobe Reader (Linux version 9, Windows. iOS). Editing done on the aforementioned platforms are recognised by qpdfview as well. It allows you to delete annotations and highlighting too, and stores annotations in the PDF.
It is free, the source code can be found on launchpad. You find it in the Ubuntu Software Center and there is a ppa for a more recent version: ppa:b-eltzner/qpdfview
I have got a workaround to this problem, but it is too localized. Using
okular for reading a pdf file and then annotate by pressing
F6 to bring Highlighting toolbar.
After annotating, you can save the file as
document archive, which preserve the annotation. From
File -> Export as -> Document Archive.
Note This file can only be opened by Okular.
Installing Okular: To install okular, issue this command in terminal :
sudo apt-get install okular
Jarnal is a good software that allows you to highlight
I've tested PDF X-Change viewer and I experienced the same white space problem while scrolling. I'm currently using Foxit Reader 4.3 which works really flawlessly. Foxit 5 crashes with wine 1.3 but works fine with wine 1.4 and 1.5. The only minor bug is that when you add a text annotation, it will ask you if you want to download the dictionary. You simple click cancel and keep working. It will keep asking you just once every time you open Foxit.
I managed to make Foxit reader 4 my default pdf viewer but can open files by double clicking a pdf file only if Foxit is not open. With Foxit 5 this issue is solved too. See this thread: How do I set a wine program (ex. Foxit Reader for Windows) as the default program?
Hope the pdf annotation feature in evince improves to avoid using wine.
The latest version of Ubuntu's default PDF viewer Evince has a built-in highlighter. It is very efficient. And unlike other softwares, the highlighted text is also detected when we open it using other softwares like Adobe PDF Viewer. The version number is 3.17.4 and you can download it using the link below:
Please note that you have to first remove the old version of Evince before you install the new one. Also, the program crashed few times on my first day of install but it is totally fine for a month now.
I use an old version of Foxit Reader (the latest 4.x version from oldapps.com), and it works very well under Wine.
At the moment, there is no good native highlighting solution!
PDF Studio is, probably, the best solution. It is not free, but you can install it using the Ubuntu Software Center.
I think that Xournal is the tool you're looking for. What you should do is exporting in PDF, and the changes will be saved in pdf.
Maybe xournal (app to add annotations to pdf's files)
And okular save the hightlighting separetly then if you want to save the hightlighting you have to save the pdf like new file to save the hightlighting.
I had the same question but unfortunately I didn't arrive to any satisfactory answer, being okular the closest one (but as you say, it does not save the changes in the same file, which is a problem).
I finally decided to use "PDF-Xchange Viewer": that piece of program makes exactly what I wanted to do and does it well, but it has two problems: it is free but not opensource and there's no linux version, although it can be used in ubuntu via wine. I wish there were better ways to annotate PDFs and so on.
Maybe you could open an issue at okular developers so hopefully they can implement that feature in the nearly future.
LibreOffice Draw works reasonably well for PDFs. It can not only annotate but do all the features of Draw such as drawing lines, shapes, etc. It saves as its own file format .odg but can export as PDF.
You should also try PDF Buddy, an online PDF editor that supports highlighting, annotation, and other common editing features. It's a fast and easy solution that works in any modern browser.
(Full disclosure: I'm a co-founder of PDF Buddy)
I got good results when annotating and editing PDFs online using PDFescape. There's a limitation on file size (10MB) and number of pages (100) though.