Jak vytvořit vizuální editor v JavaScriptu. Jak zobrazit dokument Word (.doct., Docx) v prohlížeči pomocí JavaScriptu

Určitě jste se setkali mnohokrát vizuální editory, což vám umožňuje docela pohodlně vytvářet vzhled stránek nebo některých zpráv, například na fóru. A ne s BB kódy, ale okamžitě získáte konkrétní výsledek. Na internetu je spousta těchto editorů. Jeden z nejpopulárnějších je TinyMCE nicméně jsem zastáncem svých vlastních skriptů a věřím tomu pro každý úkol musí existovat řešení spíše než univerzální. Proto vám v tomto článku řeknu: jak vytvořit vizuální editor v JavaScriptu.

Hned za pálkou dávám docela dobře komentovaný kód:







Na první pohled se kód zdá být velmi složitý. A tak je, ale pokud to vezmeme z hlediska základních prvků, pak nejde o nic složitého. tady je obvyklá forma a skryté pole kde je uložen výsledný editor HTML kód... Samotný editor je běžný snímek, tedy obyčejný Stránka HTML, do kterého můžeme psát text ( designMode = "on"). A pomocí této metody se vytváří různé formátování execCommand () který provede příkaz uvedený v parametru. A myslím, že pro vás nebude těžké vytvořit nová tlačítka a připojit k nim podobné ovladače.

V tomto skriptu není nic zbytečného, ​​pouze to nejdůležitější a základní, a lze ho brát jako základ vytvoření vlastního vizuálního editoru v JavaScriptu, ve kterém nebude nic zbytečného, ​​ale jen to, co potřebujete.

Může mi někdo navrhnout jakoukoli knihovnu v editoru dokumentů javascript (na straně klienta), kde si uživatel může prohlížet a upravovat dokumenty jako doc, docx, odf atd.

1 Odpověď


1

Nejlepším řešením je vyhledat převaděče a poté upravit převedený obsah.

Už pár týdnů hledám pracovní řešení a nejlepší, co jsem doposud našel, je docx2html.

V závislosti na vaší vývojové platformě můžete také použít Google „ONLYOFFICE Document Server“ Komunitní vydání". Mají editory stránek pro Word, Excel a Powerpoint - ale jsou asp. Je to platforma s otevřeným zdrojovým kódem a dostupná na Githubu. Možná by to ale stálo za pohled."


Je možné převést doc / docx na html pomocí jquery / javascript?

Potřebuji převést doc / docx na html. Mám soubory uložené v Amazonu s3. Potřebuji to zobrazit a upravit v prohlížeči. Právě teď používám Apache POI pro ...


Generování dokumentů docx z šablony docx javascript

Hledám knihovnu v JavaScriptu, která dokáže generovat dokumenty docx ze šablony docx a může nahradit značky jejich hodnotami a nahradit obrázky jinými obrázky. Našel jsem název knihovny ...


jak posoudit, zda je soubor doc nebo docx v POI

Název může být trochu matoucí. Nejjednodušší metoda by měla být založena na názvu přípony, stejně jako: // představuje InputStream if (filePath.endsWith (doc)) (WordExtractor ex = new ...


doc nebo docx: existuje bezpečná cesta k identifikaci typu z "požadavků" v python3?

1) Jak mohu odlišit soubory doc a docx od požadavků? a) například pokud mám url = "https://www.iadb.org/Document.cfm?id=36943997" r = requests.get (url, timeout = 15) ...


Import souborů doc a docx do .Net a C #

píšu textový editor a chci přidat možnost importovat soubory .doc a.docx. Vím, že mohu použít automatizaci OLE, ale pokud použiji nedávnou knihovnu OLE, nebude ...


Úpravy dokumentů (DOC, DOCX, RTF, TXT) ve webových formulářích

Vyvíjím webovou aplikaci pomocí asp.net 3.5. Tato aplikace obsahuje mnoho dokumentů jako .doc, .docx, .rtf, .pdf, .txt atd. A někdy je třeba tyto dokumenty upravit. V...


Převést DOC / DOCX na sémantické HTML

Chtěl bych převést dokumenty doc / docx na sémantické HTML. Některá přání / požadavky: Sémantické HTML takové, že nadpisy v dokumentu jsou

,

atd., tabulky -...


Balíčky Golang pro převod doc na docx a docx na pdf?

Píšu webovou aplikaci v Golangu, kde může uživatel nahrát soubor doc nebo docx. Část obsahu souboru bude změněna podle předdefinovaného formátu. Pozdější uživatel ...


Vložte dokument Rich Word do editoru telerik editoru RichText

Mám nějakou formu, kde načtu nějaký druh dokumentu aplikace Word a uložím jej do DB. Později musím tyto dokumenty nějak označit. V současné době jsem nenašel nic pro ...


Převést soubor doc do formátu docx

Převedl jsem soubor docx na html, protože je ve formátu Zip. ale musím také převést soubory doc. Existuje způsob, jak změnit soubor doc v docx pomocí kódu (přednost java), prosím ...

Úspěšně jsem vytvořil kód pro zobrazení PDF v prohlížeči namísto dialogu pro otevření / uložení. Nyní se zasekávám a pokouším se zobrazit dokument Word v prohlížeči. Chci zobrazit dokument Word ve Firefoxu, IE7 +, Chrome atd.

může někdo pomoci? Při zobrazování slova doc v prohlížeči se mi vždy zobrazí dialogové okno otevřít / uložit. Chci implementovat tuto funkci pomocí JavaScriptu.

6 odpovědí

pokud však dáváte přednost vestavěné podpoře, ve většině, ne-li ve všech prohlížečích, doporučuji znovu uložit soubory .doc / .docx jako PDF, lze je také vykreslit samostatně pomocí formátu PDF od Mozilly.

Odpovědi Brandona a fatbotdesigns jsou správné, ale implementační náhled google docs, našli jsme několik souborů .docx, které google nemohl zpracovat. Přepnuto na online náhled MS Office a funguje jako kouzlo.

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

zdá se, že existují některé knihovny js, které zvládnou .docx (bez .doc) převést html na straně klienta (v určitém pořadí):

    https://github.com/lalalic/docx2html - docx v html, většina prvků je podporována

    https://github.com/mwilliamson/mammoth.js - podporuje záhlaví, seznamy, tabulky, poznámky pod čarou, poznámky pod čarou, obrázky a text v rámečku! - 1 ->

    https://www.npmjs.com/package/docx2html - převod HTML dokumentů na DOCX v prohlížeči

    https://github.com/artburkart/docx2html - zřejmě funguje v prohlížeči

Poznámka: Pokud hledáte Nejlepší způsob převést na straně klienta soubor doc / docx, pravděpodobně pak bude odpověď ne... Pokud to opravdu potřebujete udělat, udělejte to. na straně serveru, tj. s libreoffice v bezhlavém režimu, apache-poi nebo jakoukoli knihovnou, která je pro vás nejlepší.

ViewerJS je užitečný pro prohlížení / vkládání formátu openoffice jako odt, odp, ods i pdf.

pro vložení dokumentu openoffice / pdf

/ ViewerJS / je cesta ViewerJS

# .. / demo / ohm2013 - přidejte cestu k souboru

Tím odeberete všechny závislosti za běhu Služby Google a Microsoft (například pokud ano, nebo jste byli omezeni jen na ně).

Má také tu výhodu, že můžete rozšířit na jiné typy souborů, pokud chcete (PPTX, XLS, DOC atd.)

Editor kódu je užitečný nástroj pro každého programátora. A každý si vybere sám: někdo ocení funkčnost, něčí mobilitu, pro někoho hlavní je design a pohodlí. Někteří lidé dokonce rádi píší kód v poznámkovém bloku, ale je to jako pokusit se postavit dům kladivem.

JavaScript je silný a náladový jazyk. Na jedné straně existuje mnoho frameworků a knihoven, na druhé straně není nejjednodušší syntaxe a nebezpečí spojená s „dynamikou“. Proto je důležité vybrat editor, který s ním bude pracovat. Správná volba udržuje váš kód čistý, vysoká rychlost vývoj, minimum chyb a potěšení z práce. Výběr jednoho ze stovek stávajících editorů bude trvat hodně času, takže jsme část práce udělali za vás. Zde je 5 nejlepších.

Webový obchod

WebStorm společnosti JetBrains je vynikající v obou svých projevech: jako IDE podporuje práci se systémy pro správu verzí, umožňuje vzdáleně nasazovat kód jako editor - standardní výhody, jako je zvýrazňování syntaxe, automatické doplňování, navigace.

Výhody:

  • LiveEdit - zobrazení změn provedených v kódu bez nutnosti jeho uložení;
  • interakce s rámci jako React, Angular, Meteor;
  • více než sto integrovaných testů pro detekci chyb;
  • integrace s Mocha, Protractor, Jest, Karma pro jednotkové testy;
  • plnohodnotný debugger pro ladění kódu na straně serveru a klienta;
  • navigace pro současnou práci s několika soubory;
  • dokončení kódu, zvýraznění syntaxe.

Nevýhody:

  • stojí 129 $ za první rok provozu;
  • pro začínající programátory je funkce nadbytečná.

Kód sady Visual Studio

Vidlice IDE sady Visual Studio zaměřená na práci s kódem. Je snadné se ho naučit, snadno se používá a je funkční zároveň.

Výhody:

  • kontextové automatické doplňování, syntaxe i použité proměnné, moduly, funkce atd .;
  • debugger s hraničními body, zásobník volání, interaktivní konzole;
  • podpora úryvků a šablon;
  • integrace s Git;
  • pohodlné a jednoduché rozhraní;
  • editor zdarma.

Nevýhody:

  • několik pluginů.

Vznešený text

Pohodlný a časem prověřený multiplatformní editor s přizpůsobitelným rozhraním a schopností provádět triviální akce pomocí klávesových zkratek.

Výhody:

  • Horké klávesy;
  • navigace v kódu ve formě mini-mapy;
  • schopnost měnit vizuální téma;
  • podpora úryvků;
  • zvýraznění, doplnění proměnných a syntaxe;
  • více úprav díky použití ukazatelů;
  • podpora budování systémů;
  • kontrola syntaxe hned při psaní;
  • automatické ukládání.

Nevýhody:

  • plná verze stojí 70 $;
  • nedostatek analyzátoru kódu pro umisťování odkazů.

Atom Editor

Představen v roce 2015, editor kódu od Gitu, který kopíruje design Sublime Text a je zabalen do Chromia.

Výhody:

  • více než 50 otevřených modulů;
  • pohodlné a příjemné rozhraní;
  • volný, uvolnit;
  • dokončení a zvýraznění kódu;
  • správce balíčků, kterých je již více než 3,5 tisíce;
  • flexibilní nastavení pro editor, plug-in balíčky, témata rozhraní;
  • úpravy a navigace pomocí klávesových zkratek.

Nevýhody:

  • nízká produktivita;
  • prázdný balíček "z krabice".

Závorky

V roce 2014 Brackets vystrašil programátory chybami a nedostatky, ale nyní postupně vrací důvěru díky nové vysoce kvalitní funkčnosti.

Výhody:

  • balíček bohatých balíčků „out of the box“;
  • Režim živého náhledu - náhled úprav v prohlížeči v reálném čase;
  • správce balíčků;
  • zobrazování obrázků a barev použitých v kódu;
  • automatické doplňování a zvýrazňování syntaxe;
  • analyzátor kódu;
  • volný, uvolnit.

Nevýhody:

  • přísné zaměření na web a HTML + CSS + JavaScript;
  • pomalý vývoj;
  • pomalý výkon díky funkcím náhledu.

Napište zprávu JavaScriptový kód můžete také použít běžný "Poznámkový blok" - stačí uložit výsledek s příponou .js a ten se nejen připojí k webu, ale dokonce bude fungovat. Použití tak omezeného editoru by však vývoj velmi zpomalilo. Proto je lepší brát něco specializovaného. Existuje několik hlavních kritérií, podle kterých si můžete vybrat editor pro práci s kódem JavaScript.

Nejprve je třeba zvýraznit syntaxi: jména, operátory a speciální znaky musí být zobrazeny odlišně, abyste mohli rychle přečíst kód.

Zvýraznění syntaxe v programu Poznámkový blok ++

Zadruhé potřebujete automatické doplňování: když zadáte název funkce nebo proměnné, editor by měl nabídnout několik možností pro příkazy, které pravděpodobně chcete zadat. Je žádoucí, aby také zobrazovala rady k vybrané komponentě - například požadované argumenty, typ proměnné, Stručný popis atd.

Automatické doplňování v programu Poznámkový blok ++

Za třetí, potřebujete schopnost skrýt jednotlivé bloky. Při práci na velkých projektech je to užitečné, protože nemusíte procházet obrovskými částmi kódu, abyste našli ten, který potřebujete.

Skrytí bloků v kódu Visual Studio

Je žádoucí, aby byly zvýrazněny chyby - pak si je můžete okamžitě všimnout a opravit:

Zobrazení chyb v kódu Visual Studio

Dobrým bonusem bude schopnost pracovat s několika soubory v jednom okně, projektový manažer, výběr témat, instalace pluginů atd.

Existuje velký počet editory, které splňují tyto požadavky a jsou vhodné pro práci s JavaScriptem. Na co psát kód je soukromé podnikání každého, ale mnoho z nich má problémy s výběrem správného programu, a proto jsme sestavili seznam 6 dobrých nástrojů.

Poznámkový blok ++

Notepad ++ je jednoduchý a snadno použitelný editor otevřeného zdroje. Má zvýraznění syntaxe pro několik jazyků, včetně JS, automatického formátování a automatického dokončování. K dispozici je navigace ve formě karet, správce souborů a kódové mapy.

K dispozici pro práci s různými kódováními, připojování překladačů, používání pluginů a dalších užitečné funkce... Například přidání QuickTextu zlepší integrované automatické dokončování.

Notepad ++ je pravidelně aktualizován, takže rychle opravuje chyby a přidává nové funkce. Bohužel funguje pouze v systému Windows.

Vim

Editor Vim je už dlouho klasikou. Mnoho lidí říká, že je těžké tomu porozumět, ale pokud tomu věnujete dostatek času, nebudete chtít použít něco jiného.

Kromě splnění všech kritérií, která jsme si vybrali, je Vim také plně přizpůsobitelný, takže můžete:

  • nainstalovat doplňky;
  • změnit témata;
  • přiřadit klávesové zkratky a tak dále.

Vim je zcela zdarma a běží na všech platformách od Windows, MacOS a Linux až po MS DOS a OS / 2.

Microsoft Visual Studio

Microsoft Visual Studio je IDE, které má vše, co potřebujete pro práci s JS. Kromě obvyklého zvýrazňování syntaxe a automatického dokončování můžete také použít debugger a vytvořit Unit testy.

Program však hodně váží a značně zatěžuje systém, takže není příliš vhodný pro práci na slabých počítačích.

Měsíční předplatné může stát od 45 do 250 USD za měsíc, ale existují také bezplatná verze pro začínající vývojáře a ty, kteří vytvářejí software s otevřeným zdrojovým kódem. IDE je k dispozici pro Windows a MacOS a na Linuxu jej lze nainstalovat pomocí aplikace Wine.

Kód sady Visual Studio

Visual Studio Code je odlehčená (~ 170 MB oproti 30 GB), multiplatformní a bezplatná verze Visual Studio. Tento editor je předinstalován s podporou JavaScript, TypeScript a Node.JS.

Rozšíření s dalšími jazyky lze stáhnout přímo z Visual Studio Code.

Integrovaný debugger a příkazy Git pro práci se systémem pro správu verzí GitHub umožňují urychlit testování a publikování aplikací.

Vznešený text

Sublime Text je jednoduchý editor pro různé platformy. Jeho rozhraní je přizpůsobitelné a některé akce lze provádět pomocí horkých kláves.

Má také podporu úryvků, automatické dokončování, zvýrazňování syntaxe a navigaci. Skvělým bonusem je automatické ukládání. Je to však více potřebné pro začátečníky - koneckonců, profesionální programátoři si v průběhu let vytvořili zvyk vytrvat po zadání každého příkazu.

Hlavní nevýhodou Sublime Textu je to, že plná verze stojí 80 $ (licence se vydává pro jednoho uživatele, který může používat editor na jakémkoli počítači). Jinak to dobře padne
Vývojáři JS.