All Projects → novoid → extract_pdf_annotations_to_orgmode

novoid / extract_pdf_annotations_to_orgmode

Licence: other
Extracting RepliGo PDF annotations to a Org-mode format snippet (unmaintained!)

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to extract pdf annotations to orgmode

github-orgmode-tests
This is a test project where you can explore how github interprets Org-mode files
Stars: ✭ 126 (+384.62%)
Mutual labels:  orgmode, orgdown
anki2orgdrill
Python package to convert Anki style flashcards to Emacs org-drill format
Stars: ✭ 18 (-30.77%)
Mutual labels:  orgmode
Viewprinter
Live preview, edit and print functionality for View hierarchies. Supports PDF, PNG, JPEG.
Stars: ✭ 170 (+553.85%)
Mutual labels:  pdf-document
Open-PDF-File-Android-Example
An example project to demonstrate how to open a PDF file in Android programmatically
Stars: ✭ 57 (+119.23%)
Mutual labels:  pdf-document
org-clock-csv
Export Emacs org-mode clock entries to CSV format.
Stars: ✭ 80 (+207.69%)
Mutual labels:  orgmode
Expense Tracker with Pdf report
An expense Tracker 🔥🔥 which lets you add transactions 🖊🖊 and generate a pdf report of all of your transactions📋📋
Stars: ✭ 16 (-38.46%)
Mutual labels:  pdf-document
Docnet
DocNET is as fast PDF editing and reading library for modern .NET applications
Stars: ✭ 128 (+392.31%)
Mutual labels:  pdf-document
nyoom.emacs
Configurable, Minimal, Fast emacs config based on Nano-emacs and Doom
Stars: ✭ 59 (+126.92%)
Mutual labels:  orgmode
pdfbox
📄◻️ Create, Maniuplate and Extract Data from PDF Files (R Apache PDFBox wrapper)
Stars: ✭ 46 (+76.92%)
Mutual labels:  pdf-document
pdfio
PDFio is a simple C library for reading and writing PDF files.
Stars: ✭ 55 (+111.54%)
Mutual labels:  pdf-document
org-sort-tasks
Functions to keep TODO tasks in orgmode sorted and organized.
Stars: ✭ 26 (+0%)
Mutual labels:  orgmode
PdfComponentComparison
The repository is used for comparing different pdf handle component such as Aspose.Pdf , Spire.Pdf and iText so on,you also can consider it as a demo repository that show how to use those component.
Stars: ✭ 39 (+50%)
Mutual labels:  pdf-document
org-contacts2vcard
Converting Emacs Org-mode org-contacts contact information to VCard format suitable for importing to Android 4.4
Stars: ✭ 21 (-19.23%)
Mutual labels:  orgmode
Pdfgen
Simple C PDF Writer/Generation library
Stars: ✭ 200 (+669.23%)
Mutual labels:  pdf-document
pdftron-android-samples
PDFTron Android Samples
Stars: ✭ 30 (+15.38%)
Mutual labels:  pdf-document
Relaxed
Create PDF documents using web technologies
Stars: ✭ 11,656 (+44730.77%)
Mutual labels:  pdf-document
SimplePDF
A Swift class to easily generate simple PDF documents with page numbers and Table of Contents.
Stars: ✭ 53 (+103.85%)
Mutual labels:  pdf-document
aesop
[DEPRECATED] The simplest PDF viewer around
Stars: ✭ 1 (-96.15%)
Mutual labels:  pdf-document
Android-XML-to-PDF-Generator
This library is for convert XML to PDF very easily using Step Builders Pattern
Stars: ✭ 140 (+438.46%)
Mutual labels:  pdf-document
laravel-print-api
Laravel package to access our print-api
Stars: ✭ 16 (-38.46%)
Mutual labels:  pdf-document

Extracting RepliGo PDF annotations to a Org-mode format snippet

I annotate PDF research paper files on my tablet using RepliGo Reader for Android. Because I am managing my research papers within Org-mode similar to this description I want to get the PDF annotations back out from the PDF files and into my Org-mode files.

Since RepliGo stores its annotations very parser-friendly (it’s text!) and Org-mode is just text, I can add something like this into Org-mode:

#+begin_src sh :results output
${HOME}/bin/vkextract_annotations_to_orgmode_snippet.sh Qian2008
#+end_src

When I execute this in Org-mode (using babel: C-c C-c) its text output gets back into Org-mode like this example demonstrates:

#+results:
#+begin_example
---- HIGHLIGHTS: ---
Manage Radiologic Portable Document Format \(PDF\) Files Using iTunes
In this article, we explain how to use the hidden function of iTunes \(Apple Computer\) to manage PDF documents as easily as managing music fles.
PDF

#+end_example

Sticky Notes:
#+begin_example
---- NOTES: ---
This paper seems to be very relevant to my PIM study!
#+end_example

This method works with GNU Linux. Adaptations of paths and so forth are necessary in the script!

Be aware of special characters and German umlauts

RepliGo does create «easy to extract» annotations under normal circumstances. But when you

  • highlight special characters such as German umlauts,
  • OR add sticky notes or text information containing non-ASCII characters,

RepliGo Reader Android switches to an UTF encoding. PDF files with annotations stored as UTF can not extracted with this simple method presented here. In this case you’ll notice (only) funny characters in the output of this script.

Bonus: .emacs setup

These lines are part of my configuration. “C-c )” shows the reftex citation menu and with “j” I can insert a snippet for inserting annotations.

The rest might be helpful for your setup as well.

;;add a custom reftex cite format to insert links                                                                                  
(reftex-set-cite-format                                                                                                           
 '((?b . "[[bib:%l][%l.bib]]")                                                                                                    
   (?r . "[[ref:%l][%l]]")                                                                                                
   (?p . "[[pdf:%l][%l.pdf]]")                                                                                                 
   (?h . (concat "** %l - %t\n:PROPERTIES:\n:CREATED: "                                                                           
         "<" (substring (format-time-string (org-time-stamp-format t t)) 1 -1) ">"                                                
         "\n:ID: %l\n:END:\n[[bib:%l][%l.bib]]\n[[papers:%l][%l.pdf]]\n\n"))                                                      
   (?n . (concat "*** PDF Annotations: [[%l-notes.pdf][%l-notes.pdf]]\n:PROPERTIES:\n:CREATED: "                                  
         "<" (substring (format-time-string (org-time-stamp-format t t)) 1 -1) ">"                                                
         "\n:ID: %l-annotations\n:END:\n\n"                                                                                       
         "\#+begin_src sh :results output\n"                                                                                      
         "${HOME}/bin/vkextract_annotations_to_orgmode_snippet.sh %l\n"                                                           
                     "#+end_src\n\n"))                                                                                            
   ))))                                                                                                             

:

;; define shortcut for inserting references:              
(define-key org-mode-map (kbd "C-c )") 'reftex-citation)

:

;; define my own links for e.g. "[[pdf:Voit2012]]" -> "~/archive/papers_from_web/Voit2012.pdf"
(setq org-link-abbrev-alist                                                                                                            
      '(                                                                                                                               
    ("bib" . "~/archive/papers_from_web/references.bib::%s")                                                                           
    ("ref" . "~/share/all/org-mode/references.org::/%s/")                                                                             
    ("pdf" . "~/archive/papers_from_web/%s.pdf")                                                                                    
    ("notes" . "~/archive/papers_from_web/%s-notes.pdf")                                                                           
    ))

License

This documentation is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

The script file is licenced under GPL v3 or newer.

Example

This is an example entry of one paper in my «references.org» file:

Voit2011 - TagTree: storing and Re-Finding Files Using Tags

Voit2011.bib Voit2011.pdf

ISBN-13: 978-3-642-25363-8 ISBN-10: 3-642-25363-6 http://www.meduni-graz.at/imi/usab2011/ 24-26 Nov 2011, Graz, Austria http://www.springerlink.com/content/978-3-642-25363-8

  • acceptance rate USAB2011: 18%
  • this paper got recommended by John Smith on CHI2012

PDF Annotations: Voit2011-notes.pdf

${HOME}/bin/vkextract_annotations_to_orgmode_snippet.sh Voit2011

Annotations:

---- Annotations: ---
this paper seems relevant to me
the authors seem to have achieved clever system integration

Alternatives

Matt published a very similar method on his blog. You might as well check it out.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].