Code Monkey home page Code Monkey logo

paperless's Introduction

MELPA

Paperless - Emacs assisted PDF document filing

You've just scanned a stack of papers that have been cluttering up your desk. Now what? Paperless mode is an Emacs major mode designed to assist with the filing of scanned documents into a hierarchy of folders.

alt text

Paperless mode provides PDF document previews, ido-based target directory completion, and simple batch filing commands designed to simplify and speed the filing of all of your scanned documents.

Here's how it works...

Step 1

Scan your documents and dump them into a holding directory. Set the variable paperless-capture-directory to reference this directory. Use M-x customize-variable to set this string.

Step 2

Tell paperless-mode where to file the documents by setting paperless-root-directory with M-x customize-variable, or you can set both variables in your ~/.emacs/init.el like so:

(custom-set-variables
 '(paperless-capture-directory "/home/green/CAPTURE")
 '(paperless-root-directory "/home/green/Documents"))

Under paperless-root-directory, create a hierarchy of directories that makes sense for you. For example, you might create directories to sort documents like so:

[paperless-root-directory]/Finance
                             /Taxes
                                /2015
                                /2016
                             /Insurance
                                /Car
                                /Home
                             /Work
                                /Expenses
                                   /2016-FOSDEM
                                   /20170102-NYC
                                   /20170202-SFO
                          /Medical
                             /Receipts
                                /2016
                                /2017
                          /Utilities
                             /Mobile
                             /Electricity

At the time of this writing, the author's directory tree contains over 620 folders.

Step 3

Once loaded, start paperless with M-x paperless and you'll be presented with the list of PDF files in paperless-capture-directory. Use the [SPC] key to open PDF preview buffers. The -, +, = and 0 keys will adjust the scale of the preview, just as they do in DocView or PDFView mode. Use the r key to rename the file. If you omit a filename extention, paperless will append ".pdf" to your new filename. Use the f key to select the destination directory. Use the d key to mark the file for deletion. Deletion always moves the file to the system trash folder (emacs's move-file-to-trash). Use the g key to rescan the directory hierarchy under paperless-root-directory for new or deleted folders. Files aren't renamed, moved or deleted until you select the x key.

Org Mode Integration

Paperless features basic Org mode integration as well. Org links stored while in paperless mode point to the appropriate target file location. Be sure to (require 'org-paperless) to enable this feature.

Installation

Paperless requires Emacs 24.4, and is available in the MELPA package repository.

To install from source, simply download this package to your local filesystem, and add something like the following to your ~/.emacs/init.el:

(autoload 'paperless "paperless" "A major mode for filing PDFs" t)
(add-to-list 'load-path
	     (expand-file-name "/home/green/git/paperless/"))

Don't forget to set paperless-capture-directory and paperless-root-directory as per above.

Paperless requires DocView mode, which currently ships with GNU Emacs, however it will always prefer to use PDF Tools if you have that installed.

Licensing

Copyright (C) 2016, 2017, 2018, 2020, 2023, 2024 by Anthony Green

Paperless is provided under the terms of the 3-clause BSD license. See paperless.el for details.

paperless's People

Contributors

atgreen avatar jumper047 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paperless's Issues

pdfgrep integration / profile selection

I have two idea's for new features:

  1. Integration of pdfgrep
    Integrate search with pdfgrep (if installed) to search directly in the scan and root directory, I use the iphone app quickscan for getting my documents digital, which does automatic ocr integration, so most of my pdf's are text searchable, which is quite nice, if I search for an invoice of a special company.

  2. It would be cool, if one could choose some kind of profile, eg I use paperles for both, company documents and private documents, so I could easily setup different default folders.

But nevertheless, really super useful tool!

Warning (undo): Buffer ‘*Paperless Preview*’ undo info was 20193254 bytes long.

Any idea whats is this about?
I'm using Emacs 25 with pdf-tools; I only see this error when previewing PDF from paperless;

Warning (undo): Buffer ‘*Paperless Preview*’ undo info was 20193254 bytes long.
The undo info was discarded because it exceeded `undo-outer-limit'.

This is normal if you executed a command that made a huge change
to the buffer.  In that case, to prevent similar problems in the
future, set `undo-outer-limit' to a value that is large enough to
cover the maximum size of normal changes you expect a single
command to make, but not so large that it might exceed the
maximum memory allotted to Emacs.

If you did not execute any such command, the situation is
probably due to a bug and you should report it.

You can disable the popping up of this buffer by adding the entry
(undo discard-info) to the user option `warning-suppress-types',
which is defined in the `warnings' library.

combining two (or more) PDFs in paperless?

I am trying out paperless and like the simple way it works, thank you :)

I was wondering if there is a way to combine two scans into one in paperless and then rename/file it.

I was looking for the option in PDF-Tools but couldn't find anything. Any idea?

Delete feature

It would be handy to delete pdfs in the paperless view with the 'd' command and then execute it via 'x'.

Bug: paperless window without files listed

There is an error in the last version,

in the code at line 80, there should be instead of "./" paperless-capture-directory, otherwise no files will be listed in the paperless window

Really cool package!

Address failure mode of target file already existing

Say you want to file to a/b/c/foo.pdf, but that file already exists. paperless does not recover well from that situation. As a work around, just run M-x paperless again and start from scratch. Ideally it would still fail, but remove the files that it managed to copy from the list.

org-capture target link

As I'm filing documents, it would be great to org-capture with link to the target location. This would allow users to easily create TODO actions on documents they file.

Use completing-read instead of ido-completing-read

I noticed some of my own homegrown packages still using ido after switching to counsel / ivy. It's pretty nice to have the completion system be uniform. In my case I could just skip the ido- prefix and ivy-mode started working as per the docs (https://github.com/abo-abo/swiper):

ivy-mode ensures that any Emacs command using completing-read-function uses ivy for completion.

Perhaps paperless could go with completing-read for it's default as well, or make it customizable? Just a thought.

idea : expand to other file format and add tags

Hi,
Thx for this tools, it's a great idea, i use dired with tags from bookmark+, i think your tools can replace my workflow to organize documents.

can you think it is possible to expand to other file format like odt, jpg, etc ? and add tag ? then it can be to have less of directory and sub directory and more possibility of categorization and search ?

thx.

Why can't I use spaces on file names when renaming?

Paperless is almost everything I wanted. There's only one problem: It doesn't let me use spaces when renaming.

I store all my files as something like "2017-11 bank statement.pdf".

I'm kinda new to Emacs, so maybe it's something I have to set up somewhere else?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.