Welcome to the official page of the "iRex DR1000 Merger" project. The aim of this project is to merge the scribbles taken with the iRex DR1000 with firmware 2 on a PDF or with the built-in notepad in a PDF file. My intent was also to group all the knowledge I can find on the topic, to give all the people a most rich as possible documentation and to create a little Java library, so that can be re-used by others. :-)
The program is written in Java; I took inspiration by Bert's program, which does the same with the scribbles taken with the iRex Iliad. I did it because I had problems with all the other solutions I found in the Mobile Read forum, such as the python script, OCAML and the .NET programs: the only one that I made to work was the .NET one, but it uses incorrect values for the zoom of the strokes taken with the zoom.
Like the merger by Bert, also this program uses the iText library (version 1.4.8, I found on internet and recompiled) to merge the scribbles; to access the scribbles in the
metadata.db file I used the sqlite-jdbc library (version 3.7.2).
I also thanks Mackx, for having posted a great explanation on how the binary blob has to be interpreted.
I also re-designed this image to better illustrate the coordinate systems used by iText and iPDF (can also be found in the documentation):
The current version of the program does the merging and format the scribbles in a text-format, creates a PDF from the notes and let you choose the color of the merged scribbles; it is no more a prototype but a real program (I menaged to correctly merge all my PDF and notes with their scribbles).
In next releases I hope to include other functionalities, like backup of data (which can also be made manually copying the
metadata.db file) or conversion of scribbles Iliad ⇆ DR1000.
in a shell/terminal/dos prompt;java -jar iRexDR1000Merger[-version].jar path_to_file
path_to_fileis the path to the target file (PDF or note file); in case of PDF file the program looks for the
metadata.dbfile in the same forlder. The program will create a new PDF file in the current directory.
* better performance: now uses a 'ByteArrayInputStream' to threat the blob ! fized bug: now if the 'config.properties' is not found, write no exception + update documentation: to create a PDF from a note file, it creates an empty temp PDF file * better logs + in the list file, shows the number of scribbled pages + method Parser.build(:byte) to parse the blob and create the 'Page' object + color of the stroke can be chosen with the '-C' option - removed javadoc task (and javadoc-full renamed to javadoc)
* big changes to the structure of the program + merge of notes + if the PDF file is not found in the database, let the user choose one + option "-c path_to_properties_file"
* better performance (blobs are loaded one at time) ! deleted original file extension in output file * class ScribbleMgr: * has a database File + method hasScribble(fileName:String):boolean + method getScribbledPages(fileName:String):List<Integer> + method getBlobScribbles(fileName:String, page:int):List<Integer> + added command line option (-f, -o and -a) + used andyLogger for logging
In this page you can find the full documentation of the project.
As my first "real" project, I decided to release it under the GPLv3 licence. A copy of the licence is included in the compiled and source archives. Inside the archives there are the notice also for the libraries used by this project.