Existe-t-il un éditeur de documents (doc, docx) disponible en javascript

Quelqu'un peut-il me suggérer une bibliothèque dans l'éditeur de documents javascript (côté client) où l'utilisateur peut afficher et modifier des documents tels que doc, docx, odf, etc.

1 réponse


1

Le mieux est de rechercher des convertisseurs, puis de modifier le contenu converti.

Je cherche une solution fonctionnelle depuis quelques semaines maintenant et la meilleure que j'ai trouvée jusqu'à présent est docx2html.

En fonction de votre plateforme de développement, vous pouvez également utiliser "ONLYOFFICE Document Server Community Edition" de Google. Ils ont des éditeurs de pages pour Word, Excel et Powerpoint - mais ils sont asp. Ceci est une plateforme ouverte code source et est disponible sur Github. Cela vaut peut-être le coup d'oeil.


Est-il possible de convertir doc/docx en HTML en utilisant jquery/javascript ?

Je dois convertir doc/docx en HTML. J'ai des fichiers stockés dans Amazon s3. Je dois l'afficher et le modifier dans le navigateur. En ce moment, j'utilise Apache POI pour...


Génération de documents docx à partir du modèle javascript docx

Je recherche une bibliothèque en javascript qui puisse générer des documents docx à partir d'un modèle docx et pouvoir remplacer les balises par leurs valeurs et remplacer les images par d'autres images. J'ai trouvé le nom de la bibliothèque...


comment juger si un fichier est doc ou docx dans POI

Le titre peut prêter à confusion. La méthode la plus simple doit être basée sur le nom de l'extension, tout comme : // représente le InputStream if (filePath.endsWith(doc)) ( WordExtractor ex = new...


doc ou docx : existe-t-il un moyen sûr d'identifier le type à partir de "requêtes" en python3 ?

1) Comment puis-je différencier les fichiers doc et docx des requêtes ? a) par exemple, si j'ai url="https://www.iadb.org/Document.cfm?id=36943997" r = request.get(url,timeout=15)...


Importer des fichiers doc et docx dans .Net et C#

j'écris éditeur de texte et je souhaite ajouter la possibilité d'importer des fichiers .doc et .docx. Je sais que je peux utiliser OLE Automation, mais si j'utilise une bibliothèque OLE récente, ce ne sera pas le cas...


Édition de documents (DOC, DOCX, RTF, TXT) dans les Webforms

Je développe une application Web en utilisant asp.net 3.5. Cette application contient de nombreux documents comme .doc, .docx, .rtf, .pdf, .txt, etc... et parfois l'utilisateur doit éditer ces documents. DANS...


Convertir DOC/DOCX en HTML sémantique

Je souhaite convertir des documents doc/docx en HTML sémantique. Quelques souhaits/exigences : HTML sémantique tel que les titres du document soient , etc., des tableaux -...


Des packages Golang pour convertir un doc en docx et un docx en pdf ?

J'écris une application Web en Golang dans laquelle l'utilisateur peut télécharger un fichier doc ou docx. Une partie du contenu du fichier sera modifiée selon le format prédéfini. Plus tard, l'utilisateur...


Charger un document Rich Word dans l'éditeur Telerik de l'éditeur RichText

J'ai un formulaire dans lequel je télécharge un document Word et l'enregistre dans DB. Je dois faire quelques marquages ​​sur ces documents plus tard. Pour le moment, je n'ai rien trouvé pour...


Conversion d'un fichier doc au format docx

J'ai converti le fichier docx en html puisqu'il est au format Zip. mais je dois aussi convertir les fichiers doc. Existe-t-il un moyen de changer le fichier DOC en docx en utilisant du code (préférez Java). S'il vous plaît...

Un éditeur de code est un outil pratique pour tout programmeur. Et chacun choisit pour lui-même : une fonctionnalité de valeur, une mobilité de valeur, pour d'autres, l'essentiel est le design et la commodité. Certaines personnes aiment même écrire du code dans le Bloc-notes, mais c'est comme essayer de construire une maison avec un marteau.

JavaScript est un langage puissant et capricieux. D'une part, il existe de nombreux frameworks et bibliothèques, d'autre part, la syntaxe la plus simple et les dangers associés à la « dynamique ». Il est donc important de choisir un éditeur pour travailler avec. Le bon choix vous offrira un code propre, une vitesse de développement élevée, un minimum d'erreurs et un plaisir de travailler. Choisir l'un des centaines d'éditeurs existants peut prendre beaucoup de temps, c'est pourquoi nous avons fait une partie du travail pour vous. Voici les 5 meilleurs.

WebStorm

WebStorm de JetBrains est merveilleux sous ses deux formes : en tant qu'IDE, il prend en charge le travail avec les systèmes de contrôle de version, vous permet de déployer du code à distance et en tant qu'éditeur - des fonctionnalités standard telles que la coloration syntaxique, la saisie semi-automatique et la navigation.

Avantages :

  • LiveEdit - visualisation des modifications apportées au code sans avoir à l'enregistrer ;
  • interaction avec des frameworks tels que React, Angular, Meteor ;
  • plus d'une centaine de tests intégrés pour détecter les erreurs ;
  • intégration avec Mocha, Protractor, Jest, Karma pour les tests unitaires ;
  • débogueur à grande échelle pour déboguer le code côté serveur et côté client ;
  • navigation pour travailler simultanément avec plusieurs fichiers ;
  • complétion du code, coloration syntaxique.

Défauts:

  • coûte 129 $ pour la première année d'exploitation;
  • Pour les codeurs débutants, la fonctionnalité est redondante.
Code de Visual Studio

Un fork de l'IDE Visual Studio destiné à travailler avec du code. Il est facile à apprendre, facile à utiliser et en même temps fonctionnel.

Avantages :

  • complétion contextuelle de la syntaxe et des variables, modules, fonctions, etc. utilisés ;
  • débogueur avec points d'arrêt, pile d'appels, console interactive ;
  • prise en charge des extraits et des modèles ;
  • Intégration Git ;
  • interface pratique et simple ;
  • éditeur gratuit.

Défauts:

  • quelques plugins.
Texte sublime

Un éditeur multiplateforme pratique et éprouvé, avec une interface personnalisable et la possibilité d'effectuer des actions triviales à l'aide de raccourcis clavier.

Avantages :

  • Raccourcis clavier ;
  • navigation par code sous forme de mini-carte ;
  • possibilité de changer le thème visuel ;
  • prise en charge des extraits ;
  • mise en évidence, auto-complétion des variables et syntaxe ;
  • édition multiple grâce à l'utilisation de pointeurs ;
  • créer un support système ;
  • vérification de la syntaxe au fur et à mesure que vous tapez ;
  • sauvegarde automatique.

Défauts:

Éditeur d'atomes

Apparu en 2015, un éditeur de code de Git, copiant le design de Sublime Text et enveloppé dans Chromium.

Avantages :

  • plus de 50 modules ouverts ;
  • interface pratique et agréable ;
  • gratuit;
  • complétion et mise en évidence du code ;
  • gestionnaire de paquets, dont il existe déjà plus de 3,5 mille ;
  • paramètres flexibles pour l'éditeur, les packages de plug-ins et les thèmes d'interface ;
  • édition et navigation à l’aide de raccourcis clavier.

Défauts:

  • faible productivité;
  • ensemble vide "hors de la boîte".
Supports

En 2014, Brackets a effrayé les programmeurs avec des bugs et des défauts, mais maintenant il regagne progressivement la confiance avec de nouvelles fonctionnalités de haute qualité.

Avantages :

  • un équipement riche « prêt à l'emploi » ;
  • Mode Aperçu en direct - aperçu des modifications dans le navigateur en temps réel ;
  • directeur chargé d'emballage;
  • afficher les images et les couleurs utilisées dans le code ;
  • saisie semi-automatique et coloration syntaxique ;
  • analyseur de code ;
  • gratuit.

Défauts:

  • concentration stricte sur le Web et HTML+CSS+JavaScript ;
  • développement lent;
  • performances lentes en raison des fonctions de prévisualisation.

J'ai réussi à créer du code pour afficher un fichier PDF dans le navigateur au lieu de la boîte de dialogue « ouvrir/enregistrer ». Maintenant, je suis coincé en essayant d'afficher Document Word dans le navigateur. Je souhaite afficher un document Word dans Firefox, IE7+, Chrome, etc.

quelqu'un peut-il aider ? Je reçois toujours une boîte de dialogue « ouvrir/enregistrer » lors de l'affichage du mot doc dans le navigateur. Je souhaite implémenter cette fonctionnalité en utilisant JavaScript.

6 réponses

cependant, si vous préférez avoir un support natif, dans la plupart sinon tous les navigateurs, je vous recommande de réenregistrer .doc/.docx au format PDF ; ils peuvent également être rendus indépendamment à l'aide du PDF.js de Mozilla.

Les réponses de Brandon et de fatbotdesigns sont toutes deux correctes, mais en implémentant Google Docs Preview, nous avons trouvé plusieurs fichiers .docx qui n'ont pas pu être traités par Google. Je suis passé à l'aperçu en ligne de MS Office et cela fonctionne à merveille.

https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc"

Il semble qu'il existe des bibliothèques js capables de gérer .docx (pas de .doc) pour convertir du HTML côté client (dans un ordre spécifique) :

    https://github.com/lalalic/docx2html - docx en html, la plupart des éléments sont pris en charge

    https://github.com/mwilliamson/mammoth.js - prend en charge les titres, les listes, les tableaux, les notes de bas de page, les images et le texte des encadrés !--1-->

    https://www.npmjs.com/package/docx2html - Convertir des documents HTML en DOCX dans le navigateur

    https://github.com/artburkart/docx2html - fonctionne apparemment dans le navigateur

Remarque : Si vous recherchez La meilleure façon convertir le fichier doc/docx côté client alors probablement la réponse Pas besoin. Si vous avez vraiment besoin de le faire, faites-le. côté serveur, c'est-à-dire avec libreoffice en mode sans tête, apache-poi ou toute autre bibliothèque vous convient le mieux.

ViewerJS est utile pour visualiser/intégrer des formats openoffice tels que odt, odp, ods ainsi que pdf.

pour intégrer un document openoffice/pdf

/ViewerJS/ est le chemin ViewerJS

#../demo/ohm2013 - ajoutez le chemin à votre fichier

Cela supprimera toutes les dépendances d'exécution sur les services Google et Microsoft (par exemple s'il y en avait, ou si vous y étiez limité).

Il présente également l'avantage de pouvoir s'étendre à d'autres types de fichiers si vous le souhaitez (PPTX, XLS, DOC, etc.)

Vous avez sûrement rencontré à plusieurs reprises des éditeurs visuels qui vous permettent de façonner très facilement l'apparence des pages ou de certains messages, par exemple sur un forum. Et pas avec des codes BB, mais en obtenant immédiatement un résultat précis. Il existe un grand nombre de ces éditeurs sur Internet. L'un des plus populaires est TinyMCE, cependant, je suis partisan de mes propres scripts et je pense que pour chaque tâche, il devrait y avoir sa propre solution, et non une solution universelle. Par conséquent, dans cet article, je vais vous expliquer comment créer un éditeur visuel en JavaScript.

Voici un code assez bien commenté :





// Afficher les boutons d'édition
document.write("");
document.write("");
document.write("
");
document.write(""); // Ajout d'une iframe
/* Selon le navigateur, on a accès au frame créé */
var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"];
var iWin = (isGecko) ? iframe.contentWindow : iframe.window ;
var iDoc = (isGecko) ? iframe.contentDocument : iframe.document ;
/* Crée le code d'une page HTML vide */
iHTML = "";
iDoc.open(); // Ouvre le cadre
iDoc.write(iHTML); // Ajoute le code écrit au cadre
iDoc.close(); // Ferme le cadre
iDoc.designMode = "activé" ; // Activer le mode d'édition de cadre
/* Fonctions à définir apparence texte sélectionné
Ensemble complet de commandes possibles : http://javascript.itsoft.ru/execcom/execCommands.html */
fonction setBold() (
iWin.focus();
iWin.document.execCommand("bold", null, "");
}
fonction setItal() (
iWin.focus();
iWin.document.execCommand("italique", null, "");
}
fonction save() (
/* Enregistrer le code HTML dans le champ masqué afin de pouvoir transmettre ultérieurement le code HTML résultant au gestionnaire de script */
document.getElementById("content").value = iDoc.body.innerHTML;
renvoie vrai ;
}



À première vue, le code semble très complexe. Et c’est vrai, mais si vous le regardez en fonction de ses éléments de base, il n’y a rien de compliqué. Il existe un formulaire standard et un champ caché où le code HTML généré dans l'éditeur est enregistré. L'éditeur lui-même est un cadre normal, c'est-à-dire une page HTML normale dans laquelle nous pouvons écrire du texte (designMode = "on"). Et divers formats sont créés à l'aide de la méthode execCommand(), qui exécute la commande spécifiée dans le paramètre. Et je pense qu'il ne vous sera pas difficile de créer de nouveaux boutons et de leur attacher des gestionnaires similaires.

Il n'y a rien de superflu dans ce script, seulement le plus important et le plus basique, et vous pouvez l'utiliser comme base pour créer le vôtre. éditeur visuel en JavaScript, dans lequel il n'y aura rien de superflu, mais seulement ce dont vous avez besoin.

Vous pouvez écrire du code JavaScript dans un bloc-notes ordinaire - enregistrez simplement le résultat avec l'extension .js, et il se connectera non seulement au site, mais fonctionnera même. Cependant, l’utilisation d’un éditeur aussi limité ralentira considérablement le développement. Il est donc préférable de prendre quelque chose de spécialisé. Il existe plusieurs critères principaux selon lesquels vous devez choisir un éditeur pour travailler avec du code JavaScript.

Premièrement, nous avons besoin d'une coloration syntaxique : noms, opérateurs et Symboles spéciaux doit être affiché différemment afin que le code puisse être lu rapidement.

Mise en évidence de la syntaxe dans Notepad++

Deuxièmement, vous avez besoin de la saisie semi-automatique : lorsque vous saisissez le nom d'une fonction ou d'une variable, l'éditeur doit proposer plusieurs options pour les commandes que vous êtes susceptible de saisir. Il est conseillé qu'il affiche également des indications sur le composant sélectionné - par exemple, les arguments requis, le type de variable, brève description et ainsi de suite.

Saisie semi-automatique dans Notepad++

Troisièmement, nous avons besoin de pouvoir masquer des blocs individuels. Lorsque vous travaillez sur de grands projets, cela est utile car vous n'avez pas besoin de parcourir d'énormes morceaux de code pour trouver ce dont vous avez besoin.

Masquage de blocs dans Visual Studio Code

Il est souhaitable que les erreurs soient mises en évidence - vous pouvez alors les remarquer et les corriger immédiatement :

Affichage des erreurs dans Visual Studio Code

Les bons bonus seront la possibilité de travailler avec plusieurs fichiers dans une seule fenêtre, un chef de projet, la sélection de thèmes, l'installation de plugins, etc.

Il existe un grand nombre d'éditeurs qui répondent à ces exigences et sont adaptés au travail avec JavaScript. Sur quoi écrire du code est une affaire personnelle pour chacun, mais de nombreuses personnes ont du mal à choisir le bon programme, nous avons donc compilé une liste de 6 bons outils.

Bloc-notes++

Notepad++ est un éditeur open source simple et pratique. Il propose une coloration syntaxique pour plusieurs langages, dont JS, un formatage automatique et une saisie semi-automatique. Il y a une navigation sous forme d'onglets, gestionnaire de fichiers et des cartes à code.

Vous pouvez travailler avec différents encodages, connecter des compilateurs, utiliser des plugins et d'autres fonctions utiles. Par exemple, l'ajout de QuickText améliorera la saisie semi-automatique intégrée.

Notepad++ est régulièrement mis à jour, les bugs sont donc rapidement corrigés et de nouvelles fonctionnalités sont ajoutées. Malheureusement, cela ne fonctionne que sous Windows.

Vigueur

L'éditeur Vim est depuis longtemps un classique. Beaucoup de gens disent que c'est difficile à comprendre, mais si vous y consacrez suffisamment de temps, vous ne voudrez plus utiliser autre chose.

En plus de répondre à tous nos critères choisis, Vim est également entièrement personnalisable, vous pouvez donc :

  • installer des plugins ;
  • changer de sujet ;
  • attribuer des raccourcis clavier, etc.

Vim est entièrement gratuit et fonctionne sur toutes les plateformes, de Windows, MacOS et Linux à MS DOS et OS/2.

Microsoft Visual Studio

Microsoft Visual Studio est un IDE qui contient tout ce dont vous avez besoin pour travailler avec JS. En plus de la coloration syntaxique et de la saisie semi-automatique habituelles, vous pouvez également utiliser un débogueur et créer des tests unitaires.

Cependant, le programme pèse beaucoup et charge fortement le système, il n'est donc pas très adapté pour travailler sur des ordinateurs faibles.

Un abonnement mensuel peut coûter entre 45 $ et 250 $ par mois, mais il existe également version gratuite pour les développeurs débutants et ceux qui créent des programmes open source. L'IDE est disponible pour Windows et MacOS et peut être installé sur Linux à l'aide de Wine.

Code de Visual Studio

Visual Studio Code est une version légère (~ 170 Mo contre 30 Go), multiplateforme et gratuite de Visual Studio. Cet éditeur est préinstallé avec la prise en charge de JavaScript, TypeScript et Node.JS.

Les extensions pour d'autres langages peuvent être téléchargées directement depuis Visual Studio Code.

Le débogueur intégré et les commandes Git pour travailler avec le système de contrôle de version GitHub vous permettent d'accélérer les tests et la publication des applications.

Texte sublime

Sublime Text est un simple éditeur multiplateforme. Son interface est personnalisable et vous pouvez effectuer certaines actions à l'aide de raccourcis clavier.

Il prend également en charge les extraits de code, la saisie semi-automatique, la coloration syntaxique et la navigation. Bonus sympa - sauvegarde automatique. Cependant, les débutants en ont davantage besoin - après tout, les programmeurs professionnels, au fil des années de travail, développent l'habitude de sauvegarder après avoir saisi chaque commande.

Le principal inconvénient de Sublime Text est que la version complète coûte 80 $ (la licence est délivrée pour un utilisateur, qui peut utiliser l'éditeur sur n'importe quel ordinateur). Sinon ça va bien
Développeurs JS.




Haut