1

Objective:

  1. I need to speed read hundreds or academic articles when doing Systematic Literature Reviews;
  2. the main idea is to do skimming in order to find just the information that I need to exclude/include/tabulate/summarize the articles, but not read all of them from beginning to end;
  3. this is easier to do when the keywords are already highlighted (as in highlighter pen on printed paper) prior to reading: I know visually where I'm more prone to find the information that I need and I focus on these sentences only;
  4. however, manually highlighting the keywords each-by-each is very time-consuming, and error-prone.

How I do it today:

  1. I open one PDF article on Sumatra PDF Reader v3.5.15481 64-bit Pre-release;
  2. I use CTRL+F to find one keyword, and press A to highlight it on yellow (or S to strike it out on black);
  3. I press F3 to jump to the next occurrence of the same keyword, and repeat steps 2 and 3 until all occurrences of that keyword have been highlighted;
  4. having highlighted all occurrences of one keyword on one PDF, I close it with CTRL+W, and select "Save on an existing PDF", overwriting it. Now the PDF is pemanently hightlighted and ready for skimming;
  5. I open the next PDF article and do the same search and highlighting for each occurrence.

It is already a time-consuming and error-prone process when you have only one keyword to highlight and hundreds of PDF files to skim through, but it gets worse when you, like me, have a dozen different keywords to highlight on each of the hundred PDFs...

What I am looking for:

A free program that permanently highlight all occurrences of one keyword on one PDF file at once, letting to me just the work of saving it.

Is there any that can do this? Which one? How?

What I am not looking for:

2 Answers 2

0

You can use PyMuPDF python library

https://pypi.org/project/PyMuPDF/

Example program:

import fitz

highlights = ["word1", "word2"]

doc = fitz.open("input.pdf")
for page in doc:
    for text in highlights:
        quads = page.search_for(text, quads=True)
        for quad in quads:
            annot = page.add_highlight_annot(quad)
            annot.update()

doc.save("output.pdf")

guide for installation

1
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review
    – Chenmunka
    Nov 15 at 9:23
-1

Adobe Acrobat

Adobe Acrobat logo

Adobe Acrobat is a useful PDF software that you need to install on your device. But first is this software compatible with your computer or phone. Adobe Acrobat is a cross-platform that supports Windows, Mac, Linux, Android phones, and Windows phones. This makes it possible to view and manage PDF files on your phone as well as PC. To be precise it supports Windows: 10, 8, 7, XP, and Server. For Mac, it supports macOS X 10.6, 10,7, 10,8, 10,9, 10,10.

Homepage: https://acrobat.adobe.com/us/en/

Foxit PDF Editor

Foxit PDF Editor logo

PDF Editor provides a powerful solution for business professionals to work securely with PDF documents and forms. It provides a full featured platform to view, create, edit, collaborate, share, secure, organize, export, OCR, and sign PDF.

PDF Editor Pro is geared towards power users who require advanced editing and security capabilities.

Homepage: https://www.foxit.com

5
  • Both are able to "permanently highlight all occurrences of one keyword on one PDF file at once"? Aug 31 at 13:15
  • 2
    For this to be an adequate answer, you are going to have to explain how for each of the cited programs how to highlight all occurrences of a keyword at once.
    – Eric S
    Aug 31 at 16:58
  • @EricS Probably this answer is incorrect, because, in a related but not identcal question I made before, another answerer pointed out Foxit Reader but admitted that the highlighting was not permanent. Aug 31 at 17:04
  • @BsAxUbx5KoQDEpCAqSffwGy554PSah there's actually a bit different way to do it in Foxit and for all files as well. I didn't bother answering the other question because I learned to not trust bigger inaccuracies on this network. If you can 100% confirm that the 2nd quesion is all what you need (if not, edit the question to include everything that's needed as specifically as possible) then I could answer it later today. Unless I guess this person adds more details, as for now this answer looks very generic.
    – Destroy666
    Sep 1 at 4:42
  • @Destroy666 Which other question you did not bother answering? Sep 4 at 2:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.