ChessPdfBrowser

Η ChessPdfBrowser εφαρμογή δημιουργήθηκε για να αντιμετωπίσει ένα κενό λειτουργικότητας για τους σκακιστές:

η μετατροπή των παιχνιδιών σκακιού σε βιβλία PDF σε μια τυποποιημένη μορφή.pgn που μπορεί να χρησιμοποιηθεί από οποιαδήποτε αξιόπιστη εφαρμογή σκακιού.

Έχει έναπροσωπικός chesspdfbrowserιστοσελίδα

Περιγραφή

Με την εφαρμογή θα είστε σε θέση να:

  • Εξαγωγή παιχνιδιών από βιβλία PDF.
  • Πλοηγηθείτε μέσα από τις παραλλαγές του παιχνιδιού.
  • Εξαγωγή διαγραμμάτων από πολλαπλές σελίδες.
  • Identify positions (image ->FEN).
  • Trabajar con el formato estndar de partidas.pgn (στα Αγγλικά).
  • Δουλεύοντας με τη μορφή.richPgn, η οποία έχει εμπλουτιστεί για να συμπεριλάβει πληροφορίες για την αλληλεπίδραση PDF.
  • Αλληλεπίδραση μεταξύ του PDF και του ταμπλό
  • Σύνδεση με κινητήρες UCI (όπως το Stockfish)
  • Αναπαραγωγή χρονομετρημένων παιχνιδιών

Γενικά χαρακτηριστικά:

  • Πολυγλωσσικό
  • Διαμορφώσιμο ζουμ πολλαπλής ανάλυσης
  • Σκοτεινή επιλογή λειτουργίας
  • Ειδοποίηση έκδοσης liNew
  • Εγχειρίδιο χρήστη

Περιγραφή κώδικα

Εφαρμογή προγραμματισμένη σε Java, με βιβλιοθήκες οργανωμένες σε ενότητες.


Η εξαγωγή των παιχνιδιών, η πιο εξέχουσα λειτουργία του, βασίζεται σε έναν αναλυτή που συνδυάζει έναν λεξικό αναλυτή με έναν συντακτικό αναλυτή.

Η αρχική έκδοση αυτού του αναλυτή επέτρεψε την εξαγωγή των παιχνιδιών σε αλγεβρική σημειογραφία σε πολλές γλώσσες

Από την έκδοση v1.26, επιτρέπεται η εξαγωγή παιχνιδιών που χρησιμοποιούν αλγεβρική σημειογραφία των κομματιών

Αυτή η νέα λειτουργία αναπτύχθηκε με την ενίσχυση του υπάρχοντος αναλυτή παιχνιδιών για να συμπεριλάβει ένα στρώμα που μεταφράζει τις εικόνες κομματιού στα αντίστοιχα αρχικά τους.

Ένας μεταφραστής εικόνας-προς-αρχικά έχει υλοποιηθεί χρησιμοποιώντας τον πλησιέστερο αλγόριθμο γείτονα με K = 1

Ο μεταφραστής επιλέγει την πλησιέστερη επιλογή με βάση ένα μέτρο σφάλματος από τα επισημασμένα παραδείγματα που έχει ορίσει.


Ένα άλλο ενδιαφέρον χαρακτηριστικό που εισήχθη στην έκδοση 1.20 είναι η αναγνώριση θέσης. Η εφαρμογή επιχειρεί να προσδιορίσει τη συμβολοσειρά FEN της θέσης αναλύοντας μια εικόνα της σκακιέρας.

Αυτή η λειτουργικότητα βασίζεται σε θεωρίες από ένα άρθρο του IEEE που αγόρασα για αναφορά:

  • Στοχεύει στον προσδιορισμό των θέσεων των τετραγώνων στη σκακιέρα ανιχνεύοντας τις πλευρές τους.
  • Αν είναι επιτυχής, η εφαρμογή διασχίζει όλα τα τετράγωνα και προσπαθεί να αναγνωρίσει τα κομμάτια σε κάθε τετράγωνο. Η εφαρμογή θα προσπαθήσει να αναγνωρίσει το κομμάτι με τον πλησιέστερο αλγόριθμο γείτονα, αν ένα τετράγωνο είναι άδειο.
  • Αν όλα τα τετράγωνα ταυτοποιηθούν επιτυχώς, εικάζεται ότι και το διοικητικό συμβούλιο ταυτοποιείται με επιτυχία.
  • Αν ο χρήστης δεν μπορεί να αναγνωρίσει όλα τα τετράγωνα, η εφαρμογή θα τους δείξει τον πίνακα με τα αναγνωρισμένα τετράγωνα και ζήτησε να τον συμπληρώσει για περισσότερα παραδείγματα για να προσδιορίσει τον πίνακα εξ ολοκλήρου.

Όταν τα παιχνίδια εξάγονται από ένα PDF, ο αναγνώστης του συστήματος συζητήσεων είναι αυτοεκπαιδευμένος χρησιμοποιώντας εικόνες γνωστών θέσεων, οι οποίες τον βοηθούν να μάθει να αναγνωρίζει τετράγωνα με κομμάτια.


Η έκδοση 1.20 εισάγει ένα νέο χαρακτηριστικό που εξάγει τα δεδομένα του παιχνιδιού meta, συμπεριλαμβανομένων των ονομάτων των παικτών, των βαθμολογιών του ELO, των ημερομηνιών και των τοποθεσιών.

Αυτό το χαρακτηριστικό χρησιμοποιεί ένα σύστημα κανονικών εκφράσεων που φιλοξενεί διάφορες meta μορφές δεδομένων που συνάντησα κατά τη δοκιμή.


Ένα άλλο ενδιαφέρον χαρακτηριστικό που προστέθηκε στο v1.20 είναι η επιλογή σύνδεσης με κινητήρες τύπου UCI, όπως το Stockfish.

Ανέπτυξα ένα γενικό ρυθμιστή κινητήρα για αυτό το χαρακτηριστικό. Διαβάζει τη διαμόρφωση του κινητήρα κατά τη σύνδεση και δημιουργεί μια φόρμα για τους χρήστες να τροποποιήσουν τις επιλογές του κινητήρα.


Στην έκδοση v1.26, έχει προστεθεί υποστήριξη για την εξαγωγή παιχνιδιών σε αλγεβρική σημειογραφία από αριθμούς.


Από την έκδοση 1.30, η εφαρμογή περιλαμβάνει ένα νέο δυαδικό που σας επιτρέπει να δημιουργήσετε ένα PDF από ένα αρχείο.pgn, με δύο επιλογές: μια εφαρμογή γραφικής διεπαφής, ή μια επιλογή εφαρμογής γραμμής εντολών, για να αυτοματοποιήσετε τη διαδικασία.


Η έκδοση v1.33 προσθέτει υποστήριξη για εργασία με σαρωμένα PDF.

Παράθυρα

ChessPdfBrowser v1.0 (2016)

Λήψη

ChessPdfBrowser v1.1 (2019)

Λήψη

ChessPdfBrowser v1.11 (2019)

Λήψη

ChessPdfBrowser v1.20 (2020-2023)

Watch vdeo (στα Αγγλικά)
Λήψη

ChessPdfBrowser v1.26 (2023-2024)

Watch vdeo (στα Αγγλικά)
Λήψη

ChessPdfBrowser v1.27 (2024)

Watch vdeo (στα Αγγλικά)
Λήψη

ChessPdfBrowser v1.30 (2025)

Watch vdeo (στα Αγγλικά)
Λήψη

ChessPdfBrowser v1.33 (2025)

Watch vdeo (στα Αγγλικά)
Λήψη

ChessPdfBrowser v1.36 (2026)

Λήψη

Εκδόσεις

image

Το Chess PDF Browser είναι μια εφαρμογή που προγραμματίζεται σε Java που σας επιτρέπει να περιηγείστε στα βιβλία σκακιού σε μορφή PDF.

Επιτρέπει επίσης την εργασία με αρχεία παιχνιδιών σε μορφή.pgn.

Δείτε μια σκακιέρα όπου μπορείτε να περιηγηθείτε σε διαφορετικά παιχνίδια.

Σας επιτρέπει να ανοίξετε βιβλία σκακιού PDF και να εξαγάγετε παιχνίδια για να αποθηκεύσετε σε μορφή.pgn.

Σας επιτρέπει να επεξεργαστείτε τις παραλλαγές των παιχνιδιών που είναι αποθηκευμένα στη μνήμη, είτε διαβάζονται από το.pgn, είτε εξάγονται από ένα PDF, είτε δημιουργούνται απευθείας μετακινώντας τα κομμάτια στον πίνακα.

Υπάρχει έναπεριεκτικό εγχειρίδιο που περιγράφει λεπτομερώς τον τρόπο λειτουργίας της εφαρμογής.

image

Αρκετά σφάλματα έχουν διορθωθεί, και νέα χαρακτηριστικά έχουν προστεθεί στην τελευταία έκδοση της εφαρμογής:

  • Νέος πειραματικός εξολκέας παιχνιδιών.
  • Ο Μαρκ κινείται ως νεωτερισμοί. (Μυθιστόρημα).
  • Έχει προστεθεί γλωσσική υποστήριξη στα ρωσικά.

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

image

Οι οδηγοί χρήστη έχουν ενημερωθεί με τη νέα έκδοση της εφαρμογής.

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

image

Με την τελευταία έκδοση της εφαρμογής, έχουν προστεθεί πολυάριθμα νέα χαρακτηριστικά:

  • Ο πειραματικός εξολκέας αντικειμένων γραμμής έχει αντικατασταθεί από ένα νέο εξολκέα που τώρα λαμβάνει υπόψη παρένθεση και αγκύλες.
  • Το σύστημα έχει πλέον τη δυνατότητα να εξάγει δεδομένα παιχνιδιού, συμπεριλαμβανομένων των ονομάτων των παικτών και της κατάταξης ELO.
  • Η ικανότητα προβολής των κινήσεων σε ένα παιχνίδι σε αλγεβρική σημειογραφία.
  • Ένα OCR έχει υλοποιηθεί για να αναγνωρίσει τις θέσεις των πινάκων και να τις προσθέσει σε παιχνίδια που δεν ξεκινούν από την τυπική θέση εκκίνησης.
  • Τώρα μπορείτε να παίξετε παιχνίδια εναντίον ενός άλλου ατόμου ή μιας μηχανής ή να παίξετε δύο μηχανές ο ένας εναντίον του άλλου.

  • Ενισχυμένη συνδεσιμότητα στους κινητήρες UCI:
    • Τροποποιήστε τις ρυθμίσεις του κινητήρα, για παράδειγμα, μειώνοντας το επίπεδο για να παίξει ενάντια σε ένα χαμηλότερο επίπεδο από το μέγιστο.
    • Ανάλυση θέσεων.
    • Πλήρης ανάλυση παιχνιδιού.
    • Μπορείτε να χρησιμοποιήσετε μια μηχανή ως παίκτης σε ένα παιχνίδι.
  • Σκοτεινή επιλογή λειτουργίας

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

image

Η νέα έκδοση της εφαρμογής μπορεί πλέον να εξάγει κινήσεις παιχνιδιού από τα PDF χρησιμοποιώντας αλγεβρική σημειογραφία ειδώλου.

Τι νέο υπάρχει σε αυτή την έκδοση:

  • Το λογισμικό επιτρέπει την εξαγωγή παιχνιδιών σε αλγεβρική σημειογραφία ειδώλου, σημειώνοντας τις κινήσεις των κομματιών.
  • Ενισχυμένη αναγνώριση θέσης πίνακα με χρήση οπτικής αναγνώρισης χαρακτήρων (OCR).
  • Μερικά ζωύφια έχουν διορθωθεί.

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.


Μπορείτε να δείτε ένα βίντεο της νέας λειτουργίας Επίδειξη βίντεο

image

The new version includes improvements in position detection (image ->ΦΕΝ)

image

Η νέα έκδοση περιλαμβάνει ένα νέο δυαδικό που σας επιτρέπει να δημιουργήσετε αρχεία PDF από το Pgns.

Σε αυτόν τον σύνδεσμο μπορείτε να βρείτε ένα βίντεο επίδειξης της νέας λειτουργικότητας

image

Η νέα έκδοση προσθέτει την επιλογή για εργασία με σαρωμένα PDF


Όταν εφάρμοσα τον κώδικα για να χειριστώ τα PDF, η επιλογή ήταν να χρησιμοποιήσω το pdfbox για να δουλέψω με τις λεπτομέρειες του PDF.

Αλλά δεν μου άρεσε η ιδέα της επιχειρηματικής λογικής χρησιμοποιώντας ρητά αυτή την εξάρτηση, έτσι αποφάσισα να δημιουργήσω μια διεπαφή PDF που προσέφερε τη λειτουργικότητα, και να προγραμματίσω μια υλοποίηση που έκανε χρήση της βιβλιοθήκης pdfbox


Το μειονέκτημα ήταν ότι για τα αμιγώς σαρωμένα PDF (χωρίς κανείς να έχει προσθέσει το κείμενο), η βιβλιοθήκη δεν μπορούσε να επιστρέψει το κείμενο που σχετίζεται με τις σαρωμένες σελίδες.

Ως εκ τούτου, η εφαρμογή δεν μπορούσε να προσφέρει τη λειτουργικότητα για την εξαγωγή καταχωρήσεων από σαρωμένα PDF.


Αυτή η νέα έκδοση σας επιτρέπει τώρα να προσπαθήσετε να εξαγάγετε καταχωρήσεις από σαρωμένα PDF.

Αυτό έχει καταστεί δυνατό με τον προγραμματισμό μιας νέας υλοποίησης της διεπαφής PDF, η οποία επιχειρεί να προσφέρει λειτουργικότητα λογικά παρόμοια με αυτή των "κανονικών" PDF με την υπάρχουσα υλοποίηση pdfbox.

Αυτή η νέα βιβλιοθήκη χρησιμοποιεί εσωτερικά pdfbox για να αποκτήσει τις εικόνες των σαρωμένων σελίδων, και, για κάθε σελίδα, επικαλείται ένα εξωτερικό OCR που βρίσκεται στο σύννεφο.

Δεδομένου ότι η εργασία με αυτόν τον τρόπο σε πραγματικό χρόνο θα ήταν εξαιρετικά αργή (καλώντας το OCR για κάθε σελίδα διαρκεί μεταξύ 3 και 10 δευτερόλεπτα), η βιβλιοθήκη επικαλείται το OCR μόνο μία φορά για κάθε σελίδα.

Μόλις γίνει η επίκληση του OCR, το αποτέλεσμα αποθηκεύεται στο σύστημα αρχείων, και οι επόμενοι χρόνοι που το χρειάζεται η εφαρμογή, ανακτάται από εκεί.


Το αποτέλεσμα είναι ότι η νέα βιβλιοθήκη είναι ισοδύναμη και εναλλάξιμη με την καθαρή βιβλιοθήκη pdfbox, προσφέροντας ισοδύναμη λειτουργικότητα για "κανονικά" PDF και σαρωμένα PDF.

Αν και το μειονέκτημα είναι ότι η αναγνώριση κειμένου που προσφέρεται από το OCR δεν είναι τόσο τέλεια όσο το κείμενο που εξάγεται από "κανονικά" PDF.


Για την εξαγωγή παιχνιδιών, η εφαρμογή ήδη προσέφερε έναν μηχανισμό που σας επιτρέπει να επιλέξετε να αλλάξετε το "l" σε "1" και το "S" σε "5".

Για τα σαρωμένα PDF, έχουν επίσης προστεθεί μερικές νέες μεταφράσεις (αλλάζοντας το ""s σε "f") και αυτές οι μεταφράσεις είναι σταθερές, χωρίς παρέμβαση του χρήστη.

Αυτοί οι μετασχηματισμοί χαρακτήρων βελτιώνουν σημαντικά την εξαγωγή των κινήσεων.

Το αποτέλεσμα της εξαγωγής παιχνιδιών δεν είναι τέλειο, αλλά είναι δυνατόν να εξαχθούν κάποιες ακολουθίες κινήσεων, και με την επεξεργασία των παιχνιδιών και με λίγη υπομονή, τα χωρισμένα παιχνίδια μπορούν να συναρμολογηθούν ξανά.


Σε αυτόν τον σύνδεσμο μπορείτε να βρείτε ένα βίντεο επίδειξης της νέας λειτουργικότητας

image

Αυτή η έκδοση της εφαρμογής δημιουργήθηκε με στόχο τη βελτίωση της εφαρμογής για την εξαγωγή των καλύτερων δυνατών αποτελεσμάτων από τους αγώνες σκακιού στοΣκάκι PDF που μοιράζεται η Κοινότητα της Μαδρίτης


Η πρώτη προσπάθεια να εξαχθούν αυτά τα παιχνίδια ήταν κάπως καταστροφική, καθώς το PDF είχε χαρακτηριστικά που δεν καταλογίζονταν στην εφαρμογή:

  • Το PDF έχει παιχνίδια των οποίων οι κινήσεις δεν διακρίνουν ρητά τις αιχμές (i.e., οι αιχμές εμφανίζονται χωρίς το "x". Για παράδειγμα: "ed4" αντί για "exd4").
  • Υπάρχει επίσης ένα χαρακτηριστικό στα διαγράμματα του endgame, όπου το στυλ των μορφών φαίνεται να είναι αρκετά διαφορετικό από το υπόλοιπο PDF, το οποίο προκάλεσε την αποτυχία της εφαρμογής να εκπαιδευτεί αυτόματα. ή ακόμα και χειροκίνητα, αφού προσπαθούσα να συμπεριλάβω όλα τα χαρακτηρισμένα παραδείγματα στο ίδιο μοντέλο.
  • Οι διατάξεις σελίδας με διαγράμματα δεν ανιχνεύθηκαν σωστά από κανέναν από τους ανιχνευτές διάταξης που ήταν διαθέσιμοι στην εφαρμογή.

Έχοντας αυτά τα προβλήματα υπόψη, προσπάθησα να βρω μια λύση:

  • Τώρα η εφαρμογή δέχεται ρητά σύμβολα σύλληψης, αλλά δεν βασίζεται σε αυτά τυφλά. Επιτρέπει επίσης την απουσία αυτών των συμβόλων, και είναι κατά τον προσδιορισμό της προέλευσης και των τετραγώνων προορισμού της κίνησης που οριστικοποιείται αν μια κίνηση είναι μια σύλληψη ή όχι, γράφοντάς την κατάλληλα στο αποθηκευμένο αρχείο.pgn.
  • Η επιλογή για τη διαχείριση περισσότερων λεπτομερειών των μοντέλων αναγνώρισης θέσης έχει επίσης προστεθεί, επιτρέποντάς σας να επιλέξετε ένα συγκεκριμένο ή να δημιουργήσετε ένα νέο για να εκπαιδεύσετε χειροκίνητα τον αναγνώστη με μια θέση όπου η αναγνώριση απέτυχε.
  • Επιπλέον, είναι πλέον δυνατό να διαγραφούν μοντέλα ή να ρυθμιστούν περισσότερες λεπτομέρειες από αυτά χρησιμοποιώντας ένα νέο παράθυρο για τη διαχείρισή τους.
  • Έχουν προστεθεί δύο νέοι τύποι ανιχνευτών διάταξης, που δημιουργήθηκαν ειδικά για την εξαγωγή διαγραμμάτων.

Ενώ αποσφαλματώνω την εξαγωγή των παιχνιδιών από το PDF, βρήκα κάποια σφάλματα που είχαν εισαχθεί κάποια στιγμή με τις τελευταίες αλλαγές που έγιναν στην εφαρμογή.

(Συγγνώμη, η εφαρμογή δεν έχει δοκιμές μονάδας, και δεν είναι εύκολο να εντοπιστεί πότε ένα χαρακτηριστικό που δούλευε προηγουμένως είναι σπασμένο)


Τα σφάλματα που επιδιορθώνονται σχετίζονται με την ανίχνευση θέσης (η αυτόματη αναγνώριση θέσης είχε σπάσει).

Ένα πρόβλημα που σχετίζεται με την ανίχνευση (Ν) Πρωτοποριών έχει επίσης διορθωθεί, μαζί με αρκετά άλλα ζητήματα για τη βελτίωση της λειτουργικότητας κάποιων άλλων χαρακτηριστικών.

Επιπλέον, έχει γίνει μια προσπάθεια να βελτιωθεί η ταυτοποίηση των εικόνων με θέσεις σκακιού για ανιχνευτές διατάξεων που δεν ήταν ούτε τύπου GROWTH ούτε τύπου OCR, εξισώνοντας την αναγνώριση θέσης εικόνας με αυτή των δύο ανιχνευτών διάταξης.


Η γνώμη μου είναι ότι αυτή η τελευταία έκδοση είναι η πιο εκλεπτυσμένη έκδοση της εφαρμογής μέχρι σήμερα.

Βίντεο

Descargas