Page 1 of 2

Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 02:25
by critor
Jusqu'à présent, ta calculatrice TI-Nspire ne pouvait pas lire de fichiers documents autre que ceux créés par le logiciel TI-Nspire.
Il n'était donc pas possible de mettre sur ta calculatrice de fichiers DOC/DOCX (Microsoft Word), ODT (LibreOffice Writer) ou encore PDF (Adobe Acrobat).
Comme il n'était pas non plus possible de convertir ces documents au format TI-Nspire ce dernier ne gérant qu'un formatage fort limité, une solution était la conversion de ces documents en images BMP, JPEG ou PNG.
Hélas, le système d'exploitation TI-Nspire ne dispose lui aussi que d'un lecteur d'images fort limité ne supportant aucun zoom ou scrolling (défilement), limitant ainsi les images à une taille maximale de 318x212 pixels fort peu adaptée aux pages A4 des documents. :mj:

Une solution existait toutefois, le lecteur d'images mViewer, pour les utilisateurs de TI-Nspire encore capables d'installer Ndless.

Un inconvénient de cette solution était toutefois d'avoir une image différente par page, et donc de devoir sans arrêt fermer et rouvrir des images pour un document de plusieurs pages.

Hélas, Texas Instruments décidait pour cette rentrée 2013 de bloquer définitivement toute possibilité d'installer Ndless sur les nouvelles TI-Nspire CX de révision matérielle 'J', créant ainsi d'une part une inégalité injuste parmi les acheteurs lors de leurs futurs devoirs, examens ou concours entre ceux qui pourront stocker et consulter tout un monde de documents dans leur TI-Nspire et les autres, et provoquant également d'autre part mécontentement parmi ces nouveaux acquéreurs de TI-Nspire CX nombreux à considérer avoir été trompés puisque ayant mois de possibilités que leurs prédécesseurs alors que les fonctionnalités bloquées étaient souvent un de leurs critères d'achat. :mj:



Cette inégalité n'est en tous cas pas en train de se réduire bien au contraire... et il y aura dans les prochaines lignes parmi vous des gens qui devraient exploser de joie quand d'autres seront complètement dégoûtés, je le regrette... :(



Car ce soir est un grand jour dans l'Histoire de la TI-Nspire... ;)
Legimet a pu réaliser un portage de la bibliothèque MuPDF et vous sort le tout premier lecteur de documents tiers pour TI-Nspire CX et TI-Nspire CM! :bj:
Baptisé nPDF, il supporte les documents aux format PDF, XPS et CBZ.

Notons qu'à ce jour il ne fonctionne pas sur TI-Nspire monochrome. De toute façons, le programme seul faisant déjà presque 8Mo, ça ne laisserait pas grand place pour les documents...

Des avantages de ce lecteur par rapport à la solution précédente seraient:
  • plus besoin de s'embêter à chercher un outil pour convertir son document en images ou pire à le faire manuellement :bj:
  • plus besoin de perdre du temps à ouvrir plusieurs fichiers sur la calculatrice avant de trouver la bonne page du document :bj:



J'étais au départ assez sceptique sur le support du format PDF, ce dernier n'étant pas un format libre et ayant connu nombre d'évolutions. Toutefois, j'ai testé plusieurs documents fort complexes avec nombre d'images et tableaux en plus du texte et n'ai pu qu'être ébahi devant un affichage absolument parfait ! :bj:

3137Voici par exemple ci-contre, la lecture de la 7ème des 125 pages du Getting Started with the TI-Nspire™ CX / TI-Nspire CX CAS handheld.



Même si le lecteur nPDF est une performance technique extraordinaire, il souffre (du moins pour l'instant) de nombreux défauts et limitations:
  • pas de possibilité de zoom
  • pas de scrolling horizontal (toutes les pages sont redimensionnées à la largeur de l'écran, 320 pixels)
  • pas de touche pour passer à la page précédente/suivante (il faut scroller jusqu'en bas/haut d'une page afin de passer à la suivante/précédente) :mj:
  • pas de scrolling continu (la pression sur haut/bas produit un simple petit défilement vers le haut/bas, il vous faut alors relâcher la touche et la réenfoncer à nouveau, et etc...) :mj:

De petits défauts qui certes pour la plupart seraient fort rapides à corriger en quelques lignes de C, c'est l'affaire d'un week-end, mais qui en attendant vont littéralement pourrir votre expérience utilisateur, à moins que la vidéo ci-dessous vous fasse vraiment envie... :(


On remarque que nPDF a ici planté lors du dernier changement de page. Je pense avoir compris le problème à l’œil. On remarque en effet ci-contre que lorsqu'on arrive en bas d'une page, le lecteur peut parfois déborder de la page ce qui se caractérise par un affichage de lignes de parasites en bas. Cela arrive sur les documents dont la hauteur de page n'est pas un multiple au pixel près du déplacement vertical produit par l'appui sur les flèches. A ce moment-là, le lecteur lit n'importe quoi en mémoire hors de la zone réservée aux données de la page, ce qui effectivement provoque facilement de tels plantages.

Bref, dans son actuelle version 0.1, nPDF ne sera adapté:
  • qu'à des documents de peu de pages (à cause des risques de plantages au changement de page)
  • qu'à des documents de plusieurs pages ne nécessitant que peu ou pas de scrolling vertical (format A4 paysage par exemple - à cause du scrolling vertical non continu)
  • qu'à des documents d'une seule page pour ceux nécessitant un scrolling vertical (à cause de l'absence de touche pour passer à la page suivante/précédente)
  • et qu'à des documents présentant du texte suffisamment gros pour être encore lisible une fois la page redimensionnée à 320 pixels de largeur (à cause de la réduction automatique à 320 pixels de largeur sans possibilité de zoomer)



nPDF n'est donc pas encore selon moi une véritable alternative à mViewer pour la lecture de documents sur TI-Nspire, mais est parfaitement capable de surpasser ce dernier en tant que le lecteur de documents de référence lors de vos devoirs, examens ou concours 2014, hélas seulement pour une partie d'entre vous, je sais, si l'auteur a le temps de continuer à l'améliorer désormais d'un point de vue utilisateur ! :bj:

N'hésitez donc pas à aller remercier l'auteur, le soutenir, l'encourager, et même pourquoi pas faire vos propres remarques ou propositions par rapport aux actuels défauts du programme cités ici ou pas. ;)



Téléchargement : http://tiplanet.org/forum/archives_voir.php?id=23946 (nécessite Ndless 3.1 r825 ou supérieur, seules versions à gérer le nouveau format d'exécutables Ndless bFLT correctement)

Source : http://www.omnimaga.org/index.php?topic=17621
Until now, your TI-Nspire could not read documents files other than those created by the TI-Nspire software.
It was not possible to put on your calculator DOC/DOCX (Microsft Word), ODT (OpenOffice Write) or PDF files (Adobe Acrobat).
You couldn't either convert those documents to the TI-Nspire document format as it does manage very limited formatting options.
A solution was the conversion of these documents into BMP, JPEG or PNG images.
Unfortunately, the TI-Nspire system provides a very limited image reader without any zoom or scrolling support, thus limiting the images to a maximum size of 318x212 pixels inadapted to US letter documents. :mj:

A solution came with the mViewer image reader for owners of TI-Nspire still able to install Ndless.

A drawback of this solution however, was to have a different image for each page, and therefore constantly have to close and reopen images for a document with several pages.

Alas, Texas Instruments decided for back to school 2013 to permanently block any possibility of installing Ndless on new TI-Nspire CX hardware revision 'J', thus creating an unfair inequality among buyers in regards to their future exams where some of them will still be able to build a real world of documents on their TI-Nspire while the others nothing, causing discontent among those last purchasers who can consider having been deceived after being forbidden features granted to their predecessors and which were often one of their purchase criteria. :mj:



Today, we're not going to reduce this inequality, quite the contrary... in the next few lines, some of you may explode with joy while the others may be completely disgusted... :(



Because tonight is a great day in the history of the TI- Nspire ... ;)
Legimet was able to port the MuPDF library and has just released the first third-party document reader for TI-Nspire CX and TI- Nspire CM ! :bj:
Named nPDF, it supports PDF, XPS and CBZ documents.

Note that so far it does not work on classic TI-Nspire. But anyway, the program is already 8MB large and wouldn't let you with many space left for those documents on such calculators.

Compered to the previous mViewer solution, advantages of this new player should be:
  • no need to bother looking for a tool to convert your documents to images any more, or even worse to do it manually :bj:
  • no need to waste time opening multiple files on the calculator any more before finding the right page of the document :bj:



I was initially quite skeptical on the PDF support, as it is not a free format and did undergo many changes in years. However, I've tested several complex documents with many images and tables in addition to the text and have been amazed by an absolutely perfect display ! :bj:

3137For example, here below, reading the 7th of the 125 pages of the Getting started Started with the TI-Nspire ™ CX / TI-Nspire CX CAS Handheld .



Even if the nPDF reader is an extraordinary technical performance, it suffers (at least for now) from many drawbacks and limitations:
  • no possibility to zoom
  • no horizontal scrolling (all the pages are automatically scaled to the width of the screen, 320 pixels)
  • no button to skip to the previous/next page (you've got to scroll to the bottom/top of a page in order to move to the next/previous) :mj:
  • no continuous scrolling (pressing up/down arrows just produces a simple little up/down scroll, you then have to release the key and repress it, and again and again...) :mj:

Small things, whose many would be certainly easy and quick to fix with very gew C code lines, it's the matter of a simple weekend, but which for now are going to litterally rot your user experience, unless you're happy with the video below... :(


Note that nPDF did crash here on the last page change. I think I could spot the problem. We notice indeed that when we're reaching the bottom of a page, the reader can sometimes cross the bottom page which displays some noise lines on the bottom of the screen. This happens with documents whose page height is not a multiple of the vertical scrolling step. At this point, the reader reads random data outside of the memory allocated for ​​the page data, which actually causes such crashes easily .

Briefly, in its current version 0.1, nPDF will be the right thing :
  • to documents with very few pages (because of the crash risk on page changes)
  • to multi-page documents requiring no or very little vertical scrolling (US letter landscape format for example - because of the non-continuous vertical scrolling)
  • to one paged documents for those requiring vertical scrolling (because of the absence of keys to move to the next/previous page)
  • and to documents with text large enough to be readable even once resized to 320 pixels wide (because of the automatic resizing to 320 pixels wide without any zoom possibility)



In my opinion, nPDF is not yet an end-user acceptable alternative to mViewer for reading documents on the TI-Nspire , but it's perfectly able to surpass it and to become the main TI-Nspire document reader before your 2014 exams, unfortunately only for some of you , I know, if the author has time to continue its development for the end-user now! :bj:

So do not hesitate to thank the author, support him or encourage him, and even making your own comments or suggestions. ;)



Download: http://tiplanet.org/forum/archives_voir.php?id=23946 (requires Ndless 3.1 r825 or higher, only versions to manage correctly the new bFLT executable Ndless format)

Source: http://www.omnimaga.org/index.php?topic=17621

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 03:01
by Legimet
Hi, I just joined TI-Planet :)

Thanks for the review! I will add the features mentioned in your post. Right now, the main problem is lack of error handling, which I am trying to add. MuPDF uses a special exception handling system written in C. As for the lack of classic Nspire support, I think the only reason that doesn't work is that I use a ttf font in the file browser and forgot to add classic support when displaying the glyphs. You might want to test on a classic Nspire by opening directly from the documents browser.

I will add some of the keyboard shortcuts shortly and try to see the cause of the end-of-page bug, which I noticed yesterday but never saw again.

Some minor errors: MuPDF is written in C, not C++. No C++ is used in MuPDF. However, MuPDF uses some stdlib printf-family functions which I contributed to Ndless as syscalls in r914. Therefore, you must use r914 for nPDF. Also, nPDF is AGPLv3, not GPLv3. ;)

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 07:05
by diot
génial, j'attendrais juste un weekend pour ne pas être déçu ;)

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 11:22
by Extra44
Cool comme programme.

J'attendais impatiemment un programme de ce type ... ;)

Vu que j'aimerais essayer ce programme, cela m'amène à poser une question : j'ai actuellement ndless v3.1 (et nlaunch :D ) sur l'OS 3.1. Comment je fais pour passer à ndless v r914 ? juste à modifier le fichier ressoucre ?

Extra44

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 11:53
by critor
Je n'ai même pas Ndless 3.1 r914 et ça marche.

Je crois simplement que ça a été compilé avec le dernier Ndless 3.1 r914, et que donc l'auteur pensait que cette version était nécessaire.
Mais toute version Ndless 3.1 r825 ou ultérieure (support du nouveau format d'exécutable bFLT) devrait marcher.


Donc tente avec ta version actuelle et tu verras bien.

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 13:24
by Lionel Debroux
Je n'ai même pas Ndless 3.1 r914 et ça marche.

Ca veut seulement dire que les chemins de code qui nécessitent les syscalls ajoutés récemment n'ont pas été exécutés lors de tes tests :)
Si ces chemins de code sont exécutés en ouvrant d'autres fichiers PDF, le programme sera arrêté abruptement à cause de l'utilisation d'un syscall manquant (et créera des memory leaks, il faudra rebooter la machine pour s'en débarrasser). Bref, dans le cas général, on ne peut que déconseiller d'utiliser toute révision de Ndless 3.1 antérieure à la r914 pour utiliser nPDF ;)

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 13:35
by Extra44
Donc si je me rappelle bien , il faudrait désinstaller l'ancien ndless, puis mettre le nouveau ... ?

Grande interrogation : ma Ti NSpire Cax CX est sous Nlaunch 3.1/3.2 (et même /3.6 :D ) et ndless 3.1
Vu que Ndless et Nlaunch ont le meme fichier ressource, si on désinstalle Ndless, cela desinstalle-t-il aussi nlaunch au prochain demarrage ?
Cela posera t il problème (je sais qu'il faut bien penser à rester en OS 3.1) à nLaunch entre la suppression de fichier ressource et la remise du nouveau ?

Extra
qui va peut être (devoir) attendre un peu avant d'essayer ce bon programme

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 13:44
by Lionel Debroux
La mise à jour de Ndless est plutôt plus simple avec nLaunchy que sans :)
Ca doit principalement consister à remplacer le fichier ndless_resources.tns, puis rebooter avant d'avoir lancé un quelconque programme dépendant de Ndless. nLaunchy réinstallera Ndless au démarrage.

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 13:45
by critor
Tu as juste à écraser e fichier "ndless-ressources" pour mettre à jour Ndless sous Nlaunch.
Eventuellement, redémarre la calculatrice après.

Re: Premier lecteur de PDF pour TI-Nspire CX/CM: nPDF

Unread postPosted: 12 Dec 2013, 13:47
by Extra44
aussi simple que cela... Bien cool :) :) :)

Merci de l'information