ChessPdfBrowser

The ChessPdfBrowser application was created to address a functionality gap for chess players:

the conversion of chess games in PDF books to a standard .pgn format that can be utilized by any reliable chess application.

It has a personal chesspdfbrowser website

Description

With the application you will be able to:

  • Extract games from PDF books.
  • Navigate through the game variants.
  • Extract diagrams from multiple pages.
  • Identify positions (image -> FEN).
  • Trabajar con el formato estándar de partidas .pgn
  • Working with the .richPgn format, which has been enriched to include information for PDF interaction.
  • Interaction between the PDF and the dashboard
  • Connect with UCI engines (such as Stockfish)
  • Play timed games

General features:

  • Multi-language
  • Configurable multi-resolution zoom
  • Dark mode option
  • User manual

Code description

Application programmed in Java, with libraries organized in modules.


The extraction of games, its most outstanding function, is based on a parser that combines a lexical analyzer with a syntactic analyzer

The initial version of this parser enabled the extraction of games in algebraic notation across multiple languages

As of version v1.26, extracting games using algebraic notation of the pieces is permitted

This new function was developed by enhancing the existing game parser to include a layer that translates piece images into their corresponding initials.

An image-to-initials translator has been implemented using the nearest neighbor algorithm with K = 1

The translator chooses the closest option based on an error measure from the labeled examples it has set.


Another interesting feature introduced in version 1.20 is position recognition. The application attempts to determine the position's FEN string by analyzing an image of the chessboard.

This functionality is based on theories from an IEEE article that I purchased for reference:

  • It aims to determine the positions of the squares on the chessboard by detecting their sides.
  • If successful, the app traverses all the squares and tries to recognize the pieces in each square. The app will try to identify the piece with the nearest neighbor algorithm if a square is empty.
  • If all the squares are successfully identified, it is assumed that the board is also identified successfully.
  • If the user cannot identify all the squares, the application will show them the board with the recognized squares and asked to complete it for more examples to identify the board entirely.

When the games are extracted from a PDF, the board reader is self-trained using images of known positions, which help it learn to identify squares with pieces


Version 1.20 introduces a new feature that extracts game metadata, including player names, ELO ratings, dates, and locations.

This feature utilizes a system of regular expressions that accommodates various metadata formats I encountered during testing.


Another interesting feature added in v1.20 is the option to connect to UCI-like engines, such as Stockfish.

I developed a generic engine configurator for this feature. It reads the engine configuration upon connection and generates a form for users to modify the engine options.


Since version 1.30, the application includes a new binary that allows you to create a PDF from a .pgn file, with two options: a graphical interface application, or a command-line application option, to automate the process.

Windows

ChessPdfBrowser v1.0 (2016)

Download

ChessPdfBrowser v1.1 (2019)

Download

ChessPdfBrowser v1.11 (2019)

Download

ChessPdfBrowser v1.20 (2020-2023)

Watch vídeo
Download

ChessPdfBrowser v1.26 (2023-2024)

Watch vídeo
Download

ChessPdfBrowser v1.27 (2024)

Watch vídeo
Download

ChessPdfBrowser v1.30 (2025)

Watch vídeo
Download

Versions

image

The Chess PDF Browser is an application programmed in Java that allows you to browse chess books in PDF format.

It also enables working with game files in .pgn format.

View a chessboard where you can browse through different games.

Allows you to open PDF chess books and extract games to save in .pgn format.

Allows you to edit the variants of the games stored in memory, whether they are read from .pgn, extracted from a PDF, or created directly by moving the pieces on the board.

There is a comprehensive manual that details how the application works.

image

Several bugs have been fixed, and new features have been added in the latest version of the application:

  • New experimental game extractor.
  • Mark moves as novelties. (Novelty).
  • Language support in Russian has been added.

There is a comprehensive guide that explains how the application works.

image

The user guides have been updated with the new version of the application.

There is a comprehensive guide that explains how the application works.

image

With the latest version of the application, numerous new features have been added:

  • The experimental line item extractor has been replaced by a new extractor that now takes into account brackets and square brackets.
  • The system now has the capability to extract game data, including player names and ELO rankings.
  • The ability to view the moves in a game in algebraic notation.
  • An OCR has been implemented to recognize board positions and add them to games that do not start from the standard starting position.
  • Now you can play games against another person or an engine or play two engines against each other.

  • Enhanced connectivity to UCI engines:
    • Modify the engine settings, for example, by decreasing the level to play against a lower level than the maximum.
    • Analysis of positions.
    • Full game analysis.
    • You can use an engine as a player in a game.
  • Dark mode option

There is a comprehensive guide that explains how the application works.

image

The application's new version can now extract game moves from PDFs using figurine algebraic notation.

What's new in this version:

  • The software allows for extracting games in figurine algebraic notation, notating the movements of the pieces.
  • Enhanced board position recognition using optical character recognition (OCR).
  • Some bugs have been fixed.

There is a comprehensive guide that explains how the application works.


You can see a video of the new feature Demo video

image

The new version includes improvements in position detection (image -> FEN)

image

The new version includes a new binary that allows you to create PDFs from Pgns.

In this link you can find a demo video of the new functionality

Videos

Descargas