Giter VIP home page Giter VIP logo

supermemoassistant.plugins.pdf's Introduction

Discord

SuperMemo Assistant

What is it?

SuperMemo Assistant supercharges your SuperMemo with powerful features:

  • Do you want to incrementally read PDF files ?
  • Would Chrome or Firefox be more convenient to import web articles ?
  • Do you need LaTeX to display scientific formulas ?
  • Or to quickly lookup word definitions from the dictionary ?

You can now do all of this and more, right in SuperMemo. Get started now !

Reading PDF in SuperMemo

The PDF plugin unlocks the powers of SuperMemo for PDF files and books:
  • Extract text, images & snapshots
  • Built-in OCR (formulas & text)
  • Built-in Dictionary
  • Text format is preserved
  • Multi-selection with ctrl

Incremental PDF Plugin

Keyboard & Mouse controls

  • Core features
    • Open a PDF: Ctrl+Win+I
    • Knowledge
      • Alt+X: SuperMemo Extract (extract selection as text or image)
      • Ctrl+Alt+X: PDF Extract (extract selection as pdf pages)
      • Ctrl+L: Pass to SuperMemo (Learn)
      • Ctrl+Shift+Delete: Pass to SuperMemo (Delete)
      • Ctrl+Shift+Enter: Pass to SuperMemo (Done)
    • Selection
      • Text selection
        • Mouse selection over text: Select text
        • Double Click on word: Select word
        • Shift+Click on text: If a selection already exists, extend selection to selected character
      • Page selection
        • Double Click on page: Select page
        • Shift+Click on page: If a page selection already exists, extend page selection to selected page
      • Image selection
        • Mouse click on image: Select image
      • Area (snapshot) selection
        • Mouse selection over page: Clip area as image snapshot
    • Bookmarks
      • Enter: Go to bookmark
      • Ctrl+Alt+X: PDF Extract (extract bookmark page range as pdf pages)
  • Knowledge Tree
    • Alt/Ctrl+Arrows: Pass to SuperMemo
    • Ctrl+Alt+Left/Right: Go to previous/next Sibling in KT
    • Ctrl+Alt+Up: Go to Parent in KT
    • Ctrl+Alt+Down: Go to first Child in KT
  • PDF
    • Navigation
      • Up/Down: Line up/down
      • Left/Right: Previous/Next page
      • Pg.Up/Down: Previous/Next page
      • Home/End: First/Last page
      • Ctrl+G: Go to page [WIP]
    • Text Selection
      • Shift+Left/Right: Extend text selection (character by character)
      • Ctrl+Shift+Arrows: Extend text selection (word by word) [WIP]
      • Shift+Pg.Up/Down: Extend text selection (page by page)
    • Misc
      • Ctrl+C: Copy selection
      • Escape: Deselect Area

View Modes

View Modes

  • 1: Toggle inter-page margin
  • 2: Single page mode
  • 3: Continuous vertical page mode
  • 4: Continuous horizontal page mode
  • 5: Grid mode
  • 6: Book mode

License

FOSSA Status

supermemoassistant.plugins.pdf's People

Contributors

bjsi avatar fossabot 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supermemoassistant.plugins.pdf's Issues

Generic Element data format

Encoding format:

  • Plain
  • Base64

Location:

  • Element HTML content
  • Element HTML Reference (comment)
  • Text Element
    • Guards against saving/loading to/from file & potential lock issues
    • Loading from memory => Faster + Complete control
    • IPDF_DATA[[base64 content here]]

Improve interaction with concepts

I use concepts to organize my knowledge tree, and I have two issues with the way the SMA PDF plugin deals with concepts.

To begin with, I should explain that I have all my PDFs under a single "PDFs" concept element directly under the root of my knowledge tree.

My first issue occurs after I click Learn and a PDF comes up. Suppose, as is common, that the default concept (next to the light bulb in the Elements window) is something other than "PDFs". For example, suppose I was making some "Math" concept elements before I clicked Learn. Now, whenever I try to make an extract from the PDF, I get this error:

Concept verification
Hook not a child of root!

To work around this error, whenever a PDF appears in learning, I switch the focus to the element window, make sure the default concept is "PDFs", and then switch back to the PDF window. Maybe my feature request here is for SMA to do those steps for me automatically, and also, when I move on from the PDF, to change the default concept back to what it was before.

My second issue is that I wish I didn't have to keep all my PDFs under one top-level concept. I wish I could organize them under the concept that they actually belong under.

IPDF Extract

Strategies:

  • Text selection (page range + start/end character index)

Display out-of-extract area

At least two strategies:

  • Text highlight / font shaping
  • Two polygons (accounting for line feeds):
    • Top left corner of page -> Last out-of-extract text character
    • Last extract text character -> Bottom right corner of page

Polygons solution may be problematic for multi-columns, or unconventional text flows documents.

Done / Delete

  • Mimic Done (Ctrl+Shift+Enter)
  • Mimic Delete (Ctrl+Shift+Del)

Navigation

  • Mimic SM's arrow-keys nav
    • Alt+Left
    • Alt+Right
    • Ctrl+Up
    • Ctrl+...
  • By clicking on highlighted extracts (0.2 Milestone ?)

Area clipping

  • Ctrl+Mouse Drag: Create clipping area
  • Area resize
  • Alt+X: SM Extract area as Image

Drag & move in PDF

Ability to navigate around PDF with holding middle scroll press or right mouse button

ALT+LEFT behavior

inside iPDF ALT+LEFT works only when you

  1. extract
  2. alt+tab out of reader
  3. alt+left to extract you made
  4. alt right back to PDF

after that you can ALT+LEFT in reader but not without these steps

sync extract with pdf location

Hi
Is there currently a way to jump from an extract in supermemo to the pdf location where the extract was taken?

it would be very useful
thanks
FKG

How to run PDF plugin?

Hi there!
Please tell -- how to run PDF plugin? I have already run legacy SupermemoAssistant, but what to do next? Ctrl+Win+i doesn't work.

Context Menu

  • On Selection
    • Copy
    • IPDF Extract
    • SM Extract
    • Search in ... (Open browser) (0.1 Beta)
  • Free
    • Pan Tool
    • Select Tool

Manual notes for context

scenario:

you are reading book which requires context from previous chapters.

You stop reading suddenly.

Next time you are back at the book you need to retrieve context somehow.

Some simple system to add manual context (notes) to certain point or words in the text.

Image selection problem in some pdfs

I have found some issues with certain pdfs where you are unable to select images.
For example when I click and drag to try to select an image I get a whole band selected or in some cases a whole page.
image

I'm attaching an example
testreg2.pdf

Remoting IPC issue

Exception: RemotingException: Port is Busy: All pipe instances are busy.

Possible lead: The exception is thrown when you try to access a pipe from multiple threads at once. Pipes are not thread-safe

PDF reader feature requests

Hi
After using the PDF reader on several documents I realize that there are a couple of features that could be quite useful:

  • button to go back to previous view. The pdf I was reading had a glossary at the end and it would be useful if I could go to the glossary, extract the definition of a word and then go back where I was before I went to see the glossary. This could also be useful if we have to go several pages before to find an image or an equation. Or simple review another section. Or clicking on a link to a reference. There is not way to go back and continue reading.
  • alternatively, (probably more useful but probably more difficult too) would be to be able to split the screen in 2 and see 2 different sections of the same pdf . This way if I need to see another section of the pdf I don't need to lose my current location.

Toolbars

  • Standard Tools
    • Select Tool
    • Pan Tool
  • Layout
    • Single
    • Continuous
    • Side by Side
    • Grid
  • Zoom
    • +/-
    • Combo box [100% โ†“]
    • Fit
    • Stretch
  • IPDF Tools
    • SM Extract
    • IPDF Extract
    • Split

remove extract from pdf

Hi
Is there a way to remove an image extract from the pdf? I tried removing the extract from SM but the selection still shows in the pdf.

Improve logging

  • Fix missing logs issue
  • Add log messages in relevant parts

OCR configuration

Hi
Where do you set the Appid and AppKey in order to use the OCR option for math?
Also how do you get the Appid and AppKey to use?

thanks
Fred

Split

  • Bookmark Split
  • Style Split

Synchronize display with SM

When SM displays:

  • An IPDF Element
    • Display in IPDF
  • Non-related Element
    • Hide window ?
    • Empty window ? (faster to load next PDF ?)

Shift selection

  • Shift + Click: Extend Selection from Start to Clicked character (or Clicked character to Start)
  • Ctrl + Shift + Click: Union extend, keeps existing selection, adds new selected text

image selection of text fragments

Hi
When reading technical documents we often have math inline with text. I don't see any way to select the math inside a paragraph as image. It is treated as text.

Ideally I would like to run the OCR on the inline math but again this is not possible right now since there is no way to force image selection inside a text paragraph

thanks

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.