Onko dokumenttieditoria (doc, docx) saatavilla javascriptissä

Voiko joku ehdottaa minulle mitä tahansa kirjastoa javascript (client end) Document Editorissa, jossa käyttäjä voi tarkastella ja muokata asiakirjoja, kuten doc, docx, odf jne.

1 vastaus


1

Paras vaihtoehto on etsiä muuntajia ja muokata sitten muunnettua sisältöä.

Olen etsinyt toimivaa ratkaisua nyt pari viikkoa ja paras tähän mennessä löytämäni on docx2html.

Kehitysalustastasi riippuen voit käyttää myös Googlen ONLYOFFICE Document Server Community Edition -versiota. Heillä on sivueditorit Wordille, Excelille ja Powerpointille - mutta ne ovat asp. Tämä on avoin alusta lähdekoodi ja se on saatavilla Githubissa. Saattaa kuitenkin olla katsomisen arvoinen.


Onko mahdollista muuntaa doc/docx html:ksi jquery/javascriptillä?

Minun on muutettava doc/docx html:ksi. Minulla on tiedostoja tallennettuna Amazon s3:een. Minun täytyy tarkastella ja muokata sitä selaimessa. Tällä hetkellä käytän Apache POI:ta...


Luodaan docx-asiakirjoja docx-javascript-mallista

Etsin javascript-kirjastoa, joka voi luoda docx-dokumentteja docx-mallista ja korvata tunnisteet niiden arvoilla ja korvata kuvat muilla kuvilla Löysin kirjaston nimen...


kuinka arvioida, onko tiedosto doc vai docx POI:ssa

Otsikko saattaa olla hieman hämmentävä. Yksinkertaisimman menetelmän tulisi perustua laajennuksen nimeen, kuten: // on InputStream if (filePath.endsWith(doc)) ( WordExtractor ex = new...


doc tai docx: onko olemassa turvatapaa tunnistaa tyyppi "pyynnöistä" python3:ssa?

1) Miten voin erottaa doc- ja docx-tiedostot pyynnöistä? a) esimerkiksi jos minulla on url="https://www.iadb.org/Document.cfm?id=36943997" r = requests.get(url,timeout=15)...


Tuo doc- ja docx-tiedostoja .Netiin ja C#:iin

kirjoitan tekstieditori ja haluan lisätä mahdollisuuden tuoda .doc- ja .docx-tiedostoja. Tiedän, että voin käyttää OLE Automationia, mutta jos käytän viimeisintä OLE-kirjastoa, se ei...


Asiakirjojen (DOC, DOCX, RTF, TXT) muokkaaminen Webformsissa

Kehitän verkkosovellusta asp.net 3.5:llä. Tässä sovelluksessa on monia asiakirjoja, kuten .doc, .docx, .rtf, .pdf, .txt jne... ja joskus usarin on muokattava näitä asiakirjoja. SISÄÄN...


Muunna DOC/DOCX semanttiseksi HTML:ksi

Haluaisin muuntaa doc/docx-asiakirjat semanttiseksi HTML:ksi. Joitakin toiveita/vaatimuksia: Semanttinen HTML siten, että asiakirjan otsikot ovat jne., taulukoita -...


Golang-paketit doc:n muuntamiseen docx:ksi ja docx:n pdf-muotoon?

Kirjoitan Golangissa verkkosovellusta, johon käyttäjä voi ladata doc- tai docx-tiedoston. Osa tiedoston sisällöstä muuttuu ennalta määritetyn muodon mukaan. Myöhemmin käyttäjä...


Lataa Rich Word -dokumentti RichText editoriin telerik editoriin

Minulla on jokin muoto, jossa lataan Word-asiakirjan ja tallennan sen DB:hen. Minun täytyy tehdä merkintä näihin asiakirjoihin myöhemmin. Tällä hetkellä en ole löytänyt mitään...


doc-tiedoston muuntaminen docx-muotoon

Muunsin docx-tiedoston html:ksi, koska se on Zip-muodossa. mutta minun on muutettava myös doc-tiedostoja. Onko mahdollista muuttaa DOC-tiedosto docx:ksi käyttämällä koodia (mieluummin java).

Koodieditori on kätevä työkalu jokaiselle ohjelmoijalle. Ja jokainen valitsee itse: toiset arvostavat toimivuutta, toiset liikkuvuutta, toisille tärkeintä on muotoilu ja mukavuus. Jotkut jopa haluavat kirjoittaa koodia Notepadiin, mutta se on kuin yrittäisi rakentaa taloa vasaralla.

JavaScript on voimakas ja oikukas kieli. Toisaalta kehyksiä ja kirjastoja on monia, toisaalta ei yksinkertaisinta syntaksia ja "dynamiikkaan" liittyviä vaaroja. Siksi on tärkeää valita editori, joka toimii sen kanssa. Oikea valinta tarjoaa sinulle puhtaan koodin, nopean kehitysnopeuden, mahdollisimman vähän virheitä ja iloa työstä. Yhden valitseminen sadoista olemassa olevista editoreista voi viedä paljon aikaa, joten olemme tehneet osan työstä puolestasi. Tässä on 5 parasta.

WebStorm

JetBrainsin WebStorm on upea molemmissa muodoissaan: IDE:nä se tukee versionhallintajärjestelmien kanssa työskentelyä, mahdollistaa koodin etäkäytön ja editorina - vakiovarusteita, kuten syntaksin korostuksen, automaattisen täydennyksen, navigoinnin.

Edut:

  • LiveEdit - koodiin tehtyjen muutosten katselu ilman, että sitä tarvitsee tallentaa;
  • vuorovaikutus kehysten kanssa, kuten React, Angular, Meteor;
  • yli sata sisäänrakennettua testiä virheiden havaitsemiseksi;
  • integrointi Mocha, Protractor, Jest, Karma kanssa yksikkötestejä varten;
  • täyden mittakaavan debuggeri koodin virheenkorjaukseen palvelin- ja asiakaspuolella;
  • navigointi useiden tiedostojen samanaikaista työtä varten;
  • koodin viimeistely, syntaksin korostus.

Virheet:

  • maksaa 129 dollaria ensimmäisen toimintavuoden aikana;
  • Aloitteleville koodaajille toiminnallisuus on tarpeeton.
Visual Studio Code

Visual Studio IDE:n haarukka, jonka tarkoituksena on työskennellä koodin kanssa. Se on helppo oppia, helppo käyttää ja samalla toimiva.

Edut:

  • sekä syntaksin että käytettyjen muuttujien, moduulien, funktioiden jne. kontekstuaalinen täydennys;
  • debuggeri keskeytyspisteillä, kutsupino, interaktiivinen konsoli;
  • tuki katkelmille ja malleille;
  • Git-integraatio;
  • kätevä ja yksinkertainen käyttöliittymä;
  • ilmainen editori.

Virheet:

  • muutama lisäosa.
Ylivoimaista tekstiä

Kätevä ja aikaa testattu cross-platform-editori, jossa on mukautettava käyttöliittymä ja kyky suorittaa triviaaleja toimintoja pikanäppäimillä.

Edut:

  • Pikanäppäimet;
  • koodinavigointi minikartan muodossa;
  • kyky muuttaa visuaalista teemaa;
  • katkelma tuki;
  • korostus, muuttujien automaattinen täydennys ja syntaksi;
  • useita muokkauksia osoittimien käytön ansiosta;
  • rakentaa järjestelmätuki;
  • syntaksin tarkistus kirjoittaessasi;
  • automaattinen tallennus.

Virheet:

  • täysversio maksaa 70 dollaria;
  • koodianalysaattorin puute linkkien sijoittamista varten.
Atom-editori

Ilmestyi vuonna 2015, Gitin koodieditori, joka kopioi Sublime Textin suunnittelun ja käärittynä Chromiumiin.

Edut:

  • yli 50 avointa moduulia;
  • kätevä ja miellyttävä käyttöliittymä;
  • vapaa;
  • koodin viimeistely ja korostus;
  • paketinhallinta, joita on jo yli 3,5 tuhatta;
  • joustavat asetukset editorille, laajennuspaketteille ja käyttöliittymäteemoille;
  • muokkaaminen ja navigointi pikanäppäimillä.

Virheet:

  • alhainen tuottavuus;
  • tyhjä sarja "pakkauksesta".
Kiinnikkeet

Vuonna 2014 Brackets pelotti ohjelmoijat bugeilla ja puutteilla, mutta nyt se on vähitellen saamassa takaisin luottamusta uusilla korkealaatuisilla toiminnallisuuksilla.

Edut:

  • runsas varustus "pakkauksesta";
  • Live-esikatselutila - selaimen muokkausten esikatselu reaaliajassa;
  • pakettien hallinta;
  • koodissa käytettyjen kuvien ja värien näyttäminen;
  • automaattinen täydennys ja syntaksin korostus;
  • koodi analysaattori;
  • vapaa.

Virheet:

  • tiukka keskittyminen verkkoon ja HTML+CSS+JavaScriptiin;
  • hidas kehitys;
  • hidas suorituskyky esikatselutoimintojen vuoksi.

Olen onnistuneesti luonut koodin PDF-tiedoston näyttämiseksi selaimessa "avaa/tallenna"-valintaikkunan sijaan. Nyt olen jumissa yrittäessäni näyttää Word-asiakirja selaimessa. Haluan näyttää Word-asiakirjan Firefoxissa, IE7+:ssa, Chromessa jne.

voiko kukaan auttaa? Saan aina "avaa/tallenna" -ikkunan, kun näytän selaimessa sanan doc. Haluan toteuttaa tämän toiminnon JavaScriptin avulla.

6 vastausta

Jos kuitenkin haluat natiivituen useimmissa ellei kaikissa selaimissa, suosittelen .doc/.docx-tiedostojen tallentamista uudelleen PDF-muodossa; ne voidaan myös hahmontaa itsenäisesti Mozillan PDF.js:n avulla.

Brandonin ja fatbotdesignsin vastaukset ovat molemmat oikeita, mutta ottamalla käyttöön Google Docsin esikatselun löysimme useita .docx-tiedostoja, joita Google ei voinut käsitellä. Vaihdettiin MS Officen online-esikatseluun ja se toimii kuin hurmaa.

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

Näyttää siltä, ​​että jotkut js-kirjastot voivat käsitellä .docx-tiedostoa (ei .doc-tiedostoa) html:n muuntamiseksi asiakaspuolella (tietyssä järjestyksessä):

    https://github.com/lalalic/docx2html - docx to html, useimmat elementit ovat tuettuja

    https://github.com/mwilliamson/mammoth.js - tukee otsikoita, luetteloita, taulukoita, alaviitteitä, alaviitteitä, kuvia ja laatikon tekstiä!--1-->

    https://www.npmjs.com/package/docx2html - Muunna HTML-asiakirjat DOCX-muotoon selaimessa

    https://github.com/artburkart/docx2html - toimii ilmeisesti selaimessa

Huomautus: Jos etsit Paras tapa Muunna doc/docx-tiedosto asiakaspuolella, niin luultavasti vastaus Ei tarvetta. Jos sinun todella tarvitsee tehdä se, tee se. palvelinpuolella eli libreofficella headless-tilassa, apache-poi tai mikä tahansa muu kirjasto sopii sinulle parhaiten.

ViewerJS on hyödyllinen OpenOffice-muotojen, kuten odt, odp, ods ja pdf-tiedostojen katseluun / upottamiseen.

upottaa openoffice/pdf-dokumentti

/ViewerJS/ on ViewerJS-polku

#../demo/ohm2013 - lisää polku tiedostoosi

Tämä poistaa kaikki ajonaikaiset riippuvuudet Googlen ja Microsoftin palveluista (esim. jos sellaisia ​​oli tai rajoittuit niihin).

Sillä on myös se etu, että voit halutessasi laajentaa muihin tiedostotyyppeihin (PPTX, XLS, DOC jne.)

Varmasti olet monesti törmännyt visuaalisiin muokkauksiin, joiden avulla voit varsin kätevästi muokata sivujen tai joidenkin viestien ulkoasua esimerkiksi keskustelupalstalla. Eikä BB-koodeilla, vaan saamalla välittömästi tietyn tuloksen. Näitä editoreja on Internetissä melko paljon. Yksi suosituimmista on TinyMCE, mutta kannatan kuitenkin omia käsikirjoituksiani ja uskon, että jokaiselle tehtävälle tulee olla oma ratkaisunsa, ei universaali. Siksi tässä artikkelissa kerron sinulle, kuinka luoda visuaalinen editori JavaScriptissä.

Tässä muutama melko hyvin kommentoitu koodi:





// Näytä muokkauspainikkeet
document.write("");
document.write("");
document.write("
");
document.write(""); // Lisää iframe
/* Selaimesta riippuen pääsemme luotuun kehykseen */
var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
var iframe = (isGecko) ? document.getElementById("frameId") : kehykset["frameId"];
var iWin = (isGecko) ? iframe.contentWindow: iframe.window;
var iDoc = (isGecko) ? iframe.contentDocument: iframe.document;
/* Luo koodi tyhjälle HTML-sivulle */
iHTML = "";
iDoc.open(); // Avaa kehys
iDoc.write(iHTML); // Lisää kirjoitettu koodi kehykseen
iDoc.close(); // Sulje kehys
iDoc.designMode = "päällä"; // Ota kehyksen muokkaustila käyttöön
/* Asetettavat toiminnot ulkomuoto valittu teksti
Täysi joukko mahdollisia komentoja: http://javascript.itsoft.ru/execcom/execCommands.html */
funktio setBold() (
iWin.focus();
iWin.document.execCommand("lihavoitu", tyhjä, "");
}
funktio setItal() (
iWin.focus();
iWin.document.execCommand("kursivointi", null, "");
}
funktio save() (
/* HTML-koodin tallentaminen piilotettuun kenttään, jotta voit myöhemmin välittää tuloksena olevan HTML-koodin komentosarjan käsittelijälle */
document.getElementById("content").value = iDoc.body.innerHTML;
palauttaa tosi;
}



Ensi silmäyksellä koodi näyttää erittäin monimutkaiselta. Ja niin se on, mutta jos tarkastellaan sitä sen peruselementtien perusteella, siinä ei ole mitään monimutkaista. Siellä on tavallinen lomake ja piilotettu kenttä, jonne editorissa luotu HTML-koodi tallennetaan. Editori itsessään on tavallinen kehys, eli tavallinen HTML-sivu, johon voimme kirjoittaa tekstiä (designMode = "on"). Ja erilaisia ​​muotoiluja luodaan käyttämällä execCommand()-menetelmää, joka suorittaa parametrissa määritetyn komennon. Ja uskon, että sinun ei ole vaikeaa luoda uusia painikkeita ja liittää niihin samanlaisia ​​käsittelijöitä.

Tässä käsikirjoituksessa ei ole mitään ylimääräistä, vain tärkein ja perusasia, ja voit käyttää sitä perustana luodessasi oman visuaalinen editori JavaScriptissä, jossa ei ole mitään tarpeetonta, vaan vain mitä tarvitset.

Voit kirjoittaa JavaScript-koodin tavalliseen Muistioon - tallenna vain tulos .js-laajennuksella, niin se ei vain muodosta yhteyttä sivustoon, vaan jopa toimii. Tällaisen rajoitetun editorin käyttö kuitenkin hidastaa kehitystä huomattavasti. Siksi on parempi ottaa jotain erikoistunutta. On olemassa useita pääehtoja, joiden mukaan sinun on valittava editori JavaScript-koodin kanssa työskentelemiseen.

Ensinnäkin tarvitsemme syntaksin korostuksen: nimet, operaattorit ja Erikoissymbolit tulee näyttää eri tavalla, jotta koodi voidaan lukea nopeasti.

Syntaksin korostus Notepad++:ssa

Toiseksi tarvitset automaattisen täydennyksen: kun syötät funktion tai muuttujan nimen, editorin tulee tarjota useita vaihtoehtoja komennoille, joita todennäköisesti annat. On suositeltavaa, että se näyttää myös vihjeitä valitusta komponentista - esimerkiksi vaaditut argumentit, muuttujatyyppi, Lyhyt kuvaus ja niin edelleen.

Automaattinen täydennys Notepad++:ssa

Kolmanneksi tarvitsemme kyvyn piilottaa yksittäisiä lohkoja. Kun työskentelet suurissa projekteissa, tämä on hyödyllistä, koska sinun ei tarvitse selata valtavia koodinpätkiä löytääksesi tarvitsemasi.

Lohkojen piilottaminen Visual Studio Codessa

On toivottavaa, että virheet korostetaan - niin voit heti huomata ja korjata ne:

Näytetään virheet Visual Studio Codessa

Hyviä bonuksia ovat kyky työskennellä useiden tiedostojen kanssa yhdessä ikkunassa, projektipäällikkö, teemojen valinta, laajennusten asennus ja niin edelleen.

On olemassa suuri määrä editoreja, jotka täyttävät nämä vaatimukset ja jotka soveltuvat JavaScriptin kanssa työskentelemiseen. Mihin koodia kirjoittaa, on jokaisen henkilökohtainen asia, mutta monilla ihmisillä on ongelmia oikean ohjelman valinnassa, joten olemme koonneet luettelon kuudesta hyvästä työkalusta.

Muistio++

Notepad++ on yksinkertainen ja kätevä avoimen lähdekoodin editori. Siinä on syntaksin korostus useille kielille, mukaan lukien JS, automaattinen muotoilu ja automaattinen täydennys. Navigointi on välilehtien muodossa, Tiedostonhallinta ja koodikortit.

Voit työskennellä erilaisten koodausten kanssa, yhdistää kääntäjiä, käyttää laajennuksia ja muita hyödyllisiä toimintoja. Esimerkiksi QuickTextin lisääminen parantaa sisäänrakennettua automaattista täydennystä.

Notepad++ päivitetään säännöllisesti, joten virheet korjataan nopeasti ja uusia ominaisuuksia lisätään. Valitettavasti se toimii vain Windowsissa.

Vim

Vim-editori on pitkään ollut klassikko. Monet sanovat, että sitä on vaikea ymmärtää, mutta jos omistat siihen tarpeeksi aikaa, et enää halua käyttää mitään muuta.

Sen lisäksi, että Vim täyttää kaikki valitsemamme kriteerit, se on myös täysin muokattavissa, joten voit:

  • asentaa laajennuksia;
  • vaihtaa aiheita;
  • määrittää pikanäppäimiä ja niin edelleen.

Vim on täysin ilmainen ja toimii kaikilla alustoilla Windowsista, MacOS:sta ja Linuxista MS DOS:iin ja OS/2:een.

Microsoft Visual Studio

Microsoft Visual Studio on IDE, jossa on kaikki mitä tarvitset työskennelläksesi JS:n kanssa. Tavallisen syntaksin korostuksen ja automaattisen täydennyksen lisäksi voit myös käyttää debuggeria ja luoda yksikkötestejä.

Ohjelma painaa kuitenkin melko paljon ja kuormittaa järjestelmää raskaasti, joten se ei sovellu työskentelyyn heikoilla tietokoneilla.

Kuukausitilaus voi maksaa 45–250 dollaria kuukaudessa, mutta niitä on myös ilmainen versio aloitteleville kehittäjille ja niille, jotka luovat avoimen lähdekoodin ohjelmia. IDE on saatavana Windowsille ja MacOS:lle, ja se voidaan asentaa Linuxiin Winen avulla.

Visual Studio Code

Visual Studio Code on kevyt (~170 Mt vs. 30 Gt), monikäyttöinen ja ilmainen versio Visual Studiosta. Tämä editori on esiasennettu JavaScript-, TypeScript- ja Node.JS-tuella.

Laajennukset muille kielille voidaan ladata suoraan Visual Studio Codesta.

Sisäänrakennettu debuggeri ja Git-komennot GitHub-versionhallintajärjestelmän kanssa työskentelemiseen mahdollistavat sovellusten testaamisen ja julkaisun nopeuttamisen.

Ylivoimaista tekstiä

Sublime Text on yksinkertainen monikäyttöinen editori. Sen käyttöliittymä on muokattavissa, ja voit suorittaa joitain toimintoja pikanäppäimillä.

Se tukee myös katkelmia, automaattista täydennystä, syntaksin korostusta ja navigointia. Hieno bonus - automaattinen tallennus. Aloittelijat tarvitsevat sitä kuitenkin enemmän - loppujen lopuksi ammattiohjelmoijat kehittävät työvuosien aikana tapana säästää jokaisen komennon antamisen jälkeen.

Sublime Textin suurin haittapuoli on, että täysversio maksaa 80 dollaria (lisenssi myönnetään yhdelle käyttäjälle, joka voi käyttää editoria millä tahansa tietokoneella). Muuten sopii hyvin
JS-kehittäjät.




Ylös