ChessPDFBrowser

Sort:
Avatar of frojasg1

Hello,

    I do not know if this is the place to talk about that, but I will try:

    Lately I have finished programming an application that I think may be useful to many chess players.

    The application is called ChessPDFBrowser, and it allows you to open a chess book in PDF and extract its games as a pgn, or browse its variants in a chess board.

    It has other capabilities, as analyzing positions or full games using a connection to an Uci engine (like stockfish).

    ( totally for free and open-source )

    If you feel like doing it, you can download it from :

https://www.frojasg1.com:8443/downloads_web/downloadServletv3?file=ChessPDFbrowserv1.20&language=English&origin=chess.com

    Any idea on how to reach users for that application?

 

    I hope my message does not upset anybody.

see you,

Fran.

Avatar of frojasg1

Yes, you can use it on Ubuntu, as a is a Java application (Java-8), and that means that is cross-platform ... you must only have JRE installed.

The features of the application. You can:

    - Open PDF books and extract its games (in algebraic notation).

        * Extract standard tags of the game (Name of players, ELOs, Location, Opening code, ...)

        * Extract game variants

        * If the game does not start from standard starting position it tries to act as an OCR extracting the FEN string for that position from the image at PDF.

    - Open and save games in pgn format.

    - Edit variants (add or remove variants, or continue with the following move)

    - Connect to UCI engines like stockfish, although you have to configure the ones you download (there are no engines installed by default).

    - With those engines, you can:

        * Analyze positions

        * Analyze full games

        * Play a timed game against a Uci engine (some of them allow you to choose the strength), or play to another player, or make two engines play eachother.

 

There is also a command line version of the games extractor, so that you can invoke it from a script, or automatize the extraction of many chess books (but you have to program that script)

 

Avatar of frojasg1

Thank you for being interested

Avatar of frojasg1

Do you have JRE installed ?

I am not used to working with a linux Windows environment, but I suppose that if you have Java installed, you can open the jar by double-clicking on it on the File browser of the system.

You can check if you have Java installed by typing (on a shell window):

java --version

that command gives you the version of Java installed in your computer (it must be 8 or above, for you being able to run the application)

If you have Java installed, you can start the application by typing:

java -jar  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jar   on the _binaries/. folder

Avatar of frojasg1

I am planning to make available it online, also

But it takes time ...

I have been dedicating many many hours to that application for over a year, and it is time to relax for a bunch of days ... may be next month I will start with the online version (I have outlined how I want it to be, but it takes time)

Avatar of frojasg1

you can also open the documentation (there is a user handbook, under _documents/EN/ folder)

That handbook has a chapter called Quick start (in less than one page, it explains how to start in a windows environment, that I hope it is similar on the different operating systems)

Avatar of frojasg1

When you unzip the zip file, a folder is created:

20210216.ChessPdfBrowser.v1.20   (or something like this)

Then, the binary is under

20210216.ChessPdfBrowser.v1.20/_binaries

 

You have to reach that folder with the default File Manager on your system, and double click to that xxxxxxxxxxxxxxxxxxx.jar file

I think that if you have Java installed, it will start.

If not, you must install Java first, as a requirement.

Avatar of frojasg1

Time to go to bed !!

Tomorrow I will check if there are more messages

Thank you IForgotMyPrep 

 

Avatar of frojasg1

can you open a shell and run:

java --version

?

What is the output?

Avatar of frojasg1

if that command gives an error, then Java is not installed or is not properly instaled.

Then you will have to install it before trying to run the application again.

If it gives you an output, that means that .jar extensions are not associated to Java, You will have to associate them if you want to open the application by double-clicking.

But another way to start the application is to open a shell and go to _binaries folder:

cd 20210216.ChessPdfBrowser.v1.20/_binaries

java -jar xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jar

and that is all

Good night !!

Avatar of Martin_Stahl
IForgotMyPrep wrote:

The .jar file I see is pdf2pgn-v1.20-SNAPSHOT-all.jar

 

When I click that, it opens up like it is a .zip file with 7 folders, com, hageldave, javassist, jj2000, META-INF, mozilla, and org

 

None of those folders seem to have something to click to launch the program.

 

https://itsfoss.com/run-jar-file-ubuntu-linux/

 

With the caveat of running software at your own risk

Avatar of frojasg1

you have not to put "run", but only:

java --version

Avatar of frojasg1

ahh, I see ...

may be you must give the jar execution permissions ?

chmod 755 _binary/ChessPDFbrowser-main-v1.20-SNAPSHOT-all.jar

and try again ...

Thank you for telling me that ... I did not know that was necessary to avoid that indication.

I will try to change it (as I run cygwin in my computer, I think it can be possible)

Avatar of frojasg1

today I will create a new version of the zip file, enabling execution permissions to jars inside it, but as WA you can do:

chmod 755 _binary/ChessPDFbrowser-main-v1.20-SNAPSHOT-all.jar

before executing it. I hope that works.

Avatar of Made_in_Shoreditch

what is the cost? Is there subscription after download?

Avatar of frojasg1

no cost !!

Totally for free, and open source (you can see the source code of the application)

Avatar of frojasg1

I do not like to pay for applications, so I decided making my applications be free cost

Avatar of Made_in_Shoreditch

I have a number of pdf chess books would this software be able to read them and convert the contents, including annotations, to a pgn database?

Avatar of 1ET

I downloaded it, Open JDK 8 wouldn't work but Open JDK 11 will (under Ubuntu). I downloaded a PDF (I don't really own any PDF) and it worked flawlessly. It wouldn't recognize a double click on the board to load the position but it would load the whole match even though it's explained in several pages with board drawings in the middle.

I noticed the button to go to the last move doesn't work. And in some cases it wouldn't recognize the first moves of a game because they were in the same page as the last moves of a previous game. In case you want to test it out I downloaded "Chess The Complete Guide To Chess - Master Chess Tactics, Chess Openings, and Chess Strategies" from PDFDrive for testing purposes. Great work!

Avatar of frojasg1

Hello IForgotMyPrep,

    1. The application allows you to see the board with the perspective of black ( there is a checkbox on the top left of the main window ( White plays from bottom ), if checked, white is at the bottom, if unchecked, you see the board as if you had black pieces.

    2. You are right ... but I am reluctant to include parts of which I have not developped.

    3. I have included the pieces set I have found on the internet ... May be there are others, but I cannot to spend money buying a better pieces set, as my application is for free ...

    4. A good point to improve, I think that is not so difficult to do.

    5. Application does best effort when trying to extract games.

    With this new version, game extractor takes into account brackets to be more accurate with variants, and to know if when a variant is over, the following move belongs or not to current game.

    That is one of the most difficult parts, and sometimes the application splits a game into several of them. Each not initial part of the split game, will show a message on the board to tell you that it does not start with the standard initial position. In that situation you can either assign an initial position to the game (with menu option:  Window -> Edit initial position), or if the game was split, may be you can copy/paste (right click on the first move of the split game, then Select and copy subvariant, and go to the previous game to paste that variant in the appropriate place).

    6. You can copy FEN of current position ( menu option:   Edit -> Copy FEN ).

        You can paste a Fen position: (right click on the spreadsheet and create a new game, then edit its initial position ( menu option:  Window -> Edit initial position ), in that window, there is an option to paste FEN).

        May be a good improvement point would be to create a main menu option to create new game and paste FEN at once. Written down!

    7. Application tries to automatically infer FEN positions from images, and assign them to the appropriate games. If you have a game that for whatever its initial position has not been set, you can go to the position image on the PDF, and right click and try to recognize FEN. If that was successful, you can open the recognized position in a board to check if the recognition was right, when you accept that recognition, the application gives you the chance to assign that FEN to the current game (if it lacks of initial position).

    If the application was not successful to guess FEN from image, if it has been able to recognize chess grid of the board of image, it will give you the oportunity to train the OCR, opening the recognized pieces in a board, and marking the ones it thinks are missing. You will have to correct that initial position (by dragging pieces into their correct positions), and make sure it is right, because it is not a good idea to train the OCR with bad information (although you can reset fully the OCR, or the current OCR session in Preferences window, if you have made a mistake))

    OCR gets autotrained when you extract all games of a PDF, so, it is strongly recommendable to extract all games and wait until the orange bold number reach 0 before trying to recognize a FEN. If you do that and you are lucky, the positions will be recognized at first.

    Or what do you mean that many sources focus on FEN positions ? that they write FEN position and then put the variants, without any image ?? If so ... can you send me a sample? (frojasg1@hotmail.com)