ChessPdfBrowser

O aplicativo ChessPdfBrowser foi criado para abordar uma lacuna de funcionalidade para jogadores de xadrez:

a conversão de jogos de xadrez em livros PDF para um formato.pgn padrão que pode ser utilizado por qualquer aplicação de xadrez confiável.

Tem aPessoal chesspdfbrowserE-mail

Descrição

Com o aplicativo você será capaz de:

  • Extrair jogos de livros PDF.
  • Navegue pelas variantes do jogo.
  • Extratos de várias páginas.
  • Identify positions (image ->FEN).
  • Trabajar con el formato estándar de partidas.pgn
  • Trabalhando com o formato.richPgn, que foi enriquecido para incluir informações para interação em PDF.
  • A interação entre o PDF e o painel
  • Conecte-se com motores UCI (como Stockfish)
  • Jogar jogos cronometrados

Características gerais:

  • Multi-língua
  • Zoom multi-resolução configurável
  • Opção de modo escuro
  • liNova notificação de versão
  • Manual do usuário

Descrição do código

Aplicação programada em Java, com bibliotecas organizadas em módulos.


A extração de jogos, sua função mais notável, é baseada em um analisador que combina um analisador lexical com um analisador sintático.

A versão inicial deste analisador permitiu a extração de jogos em notação algébrica em vários idiomas

A partir da versão v1.26, a extração de jogos usando notação algébrica das peças é permitida

Esta nova função foi desenvolvida aprimorando o analisador de jogos existente para incluir uma camada que traduz imagens de peças em suas iniciais correspondentes.

Um tradutor de imagem para inicial foi implementado usando o algoritmo vizinho mais próximo com K 1

O tradutor escolhe a opção mais próxima com base em uma medida de erro dos exemplos rotulados que definiu.


Outra característica interessante introduzida na versão 1.20 é o reconhecimento de posição. O aplicativo tenta determinar a string FEN da posição analisando uma imagem do tabuleiro de xadrez.

Esta funcionalidade é baseada em teorias de um artigo IEEE que eu comprei para referência:

  • Destina-se a determinar as posições das praças no tabuleiro de xadrez, detectando seus lados.
  • Se for bem sucedido, o aplicativo atravessa todos os quadrados e tenta reconhecer as peças em cada quadrado. O aplicativo tentará identificar a peça com o algoritmo vizinho mais próximo se um quadrado estiver vazio.
  • Se todos os quadrados forem identificados com sucesso, presume-se que o conselho também seja identificado com sucesso.
  • Se o usuário não conseguir identificar todos os quadrados, o aplicativo mostrará a placa com os quadrados reconhecidos e pedirá para completá-la para mais exemplos para identificar completamente a placa.

Quando os jogos são extraídos de um PDF, o leitor de tabuleiro é auto-treinado usando imagens de posições conhecidas, o que o ajuda a aprender a identificar quadrados com peças


A versão 1.20 introduz um novo recurso que extrai dados do jogo meta, incluindo nomes de jogadores, classificações ELO, datas e locais.

Este recurso utiliza um sistema de expressões regulares que acomoda vários formatos de dados meta que encontrei durante os testes.


Outra característica interessante adicionada no v1.20 é a opção de se conectar a motores semelhantes a UCI, como Stockfish.

Eu desenvolvi um configurador de motor genérico para esse recurso. Ele lê a configuração do motor na conexão e gera um formulário para os usuários modificarem as opções do motor.


Na versão v1.26, foi adicionado suporte para extrair jogos em notação algébrica de figuras.


Desde a versão 1.30, o aplicativo inclui um novo binário que permite criar um PDF a partir de um arquivo.pgn, com duas opções: um aplicativo de interface gráfica ou uma opção de aplicativo de linha de comando para automatizar o processo.


A versão v1.33 adiciona suporte para trabalhar com PDFs digitalizados.

Windows

ChessPdfBrowser v1.0 (2016)

Download

ChessPdfBrowser v1.1 (2019)

Download

ChessPdfBrowser v1.11 (2019)

Download

ChessPdfBrowser v1.20 (2020-2023)

Assista vídeo
Download

ChessPdfBrowser v1.26 (2023-2024)

Assista vídeo
Download

ChessPdfBrowser v1.27 (2024)

Assista vídeo
Download

ChessPdfBrowser v1.30 (2025)

Assista vídeo
Download

ChessPdfBrowser v1.33 (2025)

Assista vídeo
Download

ChessPdfBrowser v1.36 (2026)

Download

Versões

image

O Chess PDF Browser é um aplicativo programado em Java que permite que você navegue em livros de xadrez em formato PDF.

Ele também permite trabalhar com arquivos de jogo em formato.pgn.

Veja um tabuleiro de xadrez onde você pode navegar por diferentes jogos.

Permite abrir livros de xadrez PDF e extrair jogos para economizar em formato.pgn.

Permite editar as variantes dos jogos armazenados na memória, quer sejam lidos a partir de.pgn, extraídos de um PDF ou criados diretamente movendo as peças no tabuleiro.

Há umamanual abrangente que detalha como o aplicativo funciona.

image

Vários bugs foram corrigidos e novos recursos foram adicionados na versão mais recente do aplicativo:

  • Novo extrator de jogo experimental.
  • Mark move-se como novidades. (Novelty).
  • O suporte linguístico em russo foi adicionado.

Há umaguia abrangente Isso explica como o aplicativo funciona.

image

Os guias do usuário foram atualizados com a nova versão do aplicativo.

Há umaguia abrangente Isso explica como o aplicativo funciona.

image

Com a versão mais recente do aplicativo, vários novos recursos foram adicionados:

  • O extrator de itens de linha experimental foi substituído por um novo extrator que agora leva em conta colchetes e colchetes.
  • O sistema agora tem a capacidade de extrair dados de jogos, incluindo nomes de jogadores e rankings ELO.
  • A capacidade de ver os movimentos em um jogo em notação algébrica.
  • Um OCR foi implementado para reconhecer as posições do tabuleiro e adicioná-las aos jogos que não começam a partir da posição inicial padrão.
  • Agora você pode jogar jogos contra outra pessoa ou um motor ou jogar dois motores uns contra os outros.

  • Conectividade aprimorada aos motores UCI:
    • Modifique as configurações do motor, por exemplo, diminuindo o nível para jogar contra um nível menor do que o máximo.
    • Análise de posições.
    • Análise completa do jogo.
    • Você pode usar um motor como um jogador em um jogo.
  • Opção de modo escuro

Há umaguia abrangente Isso explica como o aplicativo funciona.

image

A nova versão do aplicativo agora pode extrair movimentos de jogos de PDFs usando notação algébrica de estatueta.

O que há de novo nesta versão:

  • O software permite a extração de jogos em notação algébrica figura, notando os movimentos das peças.
  • Reconhecimento melhorado da posição da placa usando o reconhecimento óptico de caracteres (OCR).
  • Alguns bugs foram corrigidos.

Há umaguia abrangente Isso explica como o aplicativo funciona.


Você pode ver um vídeo do novo recurso vídeo de demonstração

image

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

image

A nova versão inclui um novo binário que permite criar PDFs a partir de Pgns.

Neste link você pode encontrar um vídeo de demonstração da nova funcionalidade

image

A nova versão adiciona a opção de trabalhar com PDFs digitalizados


Quando implementei o código para lidar com PDFs, a opção era usar o pdfbox para trabalhar com os detalhes do PDF.

Mas eu não gostei da ideia da lógica de negócios explicitamente usando essa dependência, então decidi criar uma interface PDF que oferecesse a funcionalidade e programar uma implementação que fizesse uso da biblioteca pdfbox.


A desvantagem foi que, para PDFs puros digitalizados (sem que ninguém tivesse adicionado o texto), a biblioteca não poderia retornar o texto associado às páginas digitalizadas.

Portanto, o aplicativo não poderia oferecer a funcionalidade de extrair entradas de PDFs digitalizados.


Esta nova versão agora permite que você tente extrair entradas de PDFs digitalizados.

Isto foi possível graças à programação de uma nova implementação da interface PDFs, que tenta oferecer funcionalidades razoavelmente semelhantes às dos PDFs "normais" com a implementação existente do pdfbox.

Esta nova biblioteca usa internamente pdfbox para obter as imagens das páginas digitalizadas e, para cada página, invoca um OCR externo localizado na nuvem.

Uma vez que trabalhar desta forma em tempo real seria extremamente lento (invocar o OCR para cada página leva entre 3 e 10 segundos), a biblioteca invoca o OCR apenas uma vez para cada página.

Uma vez que o OCR foi invocado, o resultado é salvo no sistema de arquivos e, posteriormente, o aplicativo precisa dele, ele é recuperado a partir daí.


O resultado é que a nova biblioteca é equivalente e intercambiável com a biblioteca pdfbox pura, oferecendo funcionalidade equivalente para PDFs "normais" e PDFs digitalizados.

Embora a desvantagem seja que o reconhecimento de texto oferecido pelo OCR não é tão perfeito quanto o texto extraído de PDFs "normais".


Para extrair jogos, o aplicativo já oferecia um mecanismo que permite que você opte por mudar "l"s para "1"s e "S"s para "5".

Para PDFs digitalizados, algumas novas traduções também foram adicionadas (alterando ""s para "f") e essas traduções são fixas, sem intervenção do usuário.

Essas transformações de caráter melhoram muito a extração de movimentos.

O resultado da extração de jogos não é perfeito, mas é possível extrair algumas sequências de movimentos e, ao editar os jogos e com um pouco de paciência, os jogos seccionados podem ser remontados.


Neste link você pode encontrar um vídeo de demonstração da nova funcionalidade

image

Esta versão da aplicação foi criada com o objetivo de melhorar a aplicação para extrair os melhores resultados possíveis dos jogos de xadrez naXadrez PDF partilhado pela Comunidade de Madrid


A primeira tentativa de extrair esses jogos foi um pouco desastrosa, já que o PDF tinha recursos que não foram contabilizados na aplicação:

  • O PDF tem jogos cujos movimentos não distinguem explicitamente capturas (i.e, capturas aparecem sem o "x". Por exemplo: "ed4" em vez de "exd4").
  • Há também uma característica nos diagramas do jogo final, onde o estilo das figuras parece ser suficientemente diferente do resto do PDF, o que fez com que o aplicativo não conseguisse treinar automaticamente. ou mesmo manualmente, já que eu estava tentando incluir todos os exemplos rotulados no mesmo modelo.
  • Os layouts de página com diagramas não foram detectados corretamente por nenhum dos detectores de layout disponíveis no aplicativo.

Com estes problemas em mente, tentei encontrar uma solução:

  • Agora o aplicativo aceita símbolos de captura explícitos, mas não depende deles cegamente. Também permite a ausência desses símbolos, e é durante a determinação dos quadrados de origem e destino do movimento que é finalizado se um movimento é uma captura ou não, escrevendo-o adequadamente para o arquivo.pgn salvo.
  • A opção de gerenciar mais detalhes dos modelos de reconhecimento de posição também foi adicionada, permitindo que você escolha um específico ou crie um novo para treinar manualmente o reconhecidor com uma posição em que o reconhecimento falhou.
  • Além disso, agora é possível excluir modelos ou configurar mais detalhes deles usando uma nova janela para gerenciá-los.
  • Foram adicionados dois novos tipos de detectores de layout, criados especificamente para extração de diagramas.

Ao depurar a extração de jogos do PDF, encontrei alguns bugs que foram introduzidos em algum momento com as últimas alterações feitas na aplicação.

(Desculpe, o aplicativo não tem testes unitários, e não é fácil de detectar quando um recurso que trabalhou anteriormente está quebrado)


Os bugs corrigidos estão relacionados à detecção de posição (reconhecimento automático de posição havia quebrado).

Um problema relacionado à detecção de (N) Novidades também foi corrigido, juntamente com várias outras questões para melhorar a funcionalidade de algumas outras características.

Além disso, foi feita uma tentativa de melhorar a identificação de imagens com posições de xadrez para detectores de layouts que não eram nem do tipo CRESCIMENTO nem OCR, igualando a identificação da posição da imagem com a desses dois detectores de layout.


Minha opinião é que esta última versão é a versão mais refinada do aplicativo até o momento.

Vídeos

Descargas