JavaScript kullanarak bir tarayıcıda bir Word belgesi (.doct., Docx) nasıl görüntülenir.

Elbette, birçok kez rastladın görsel editörler, örneğin bir forumda sayfaların veya bazı mesajların görünümünü oldukça uygun bir şekilde oluşturmanıza olanak tanır. ve onunla değil BB kodları, ancak hemen belirli bir sonuç almak. İnternette bu editörlerden çok var. En popüler olanlardan biri TinyMCE ancak ben kendi senaryolarımın bir savunucusuyum ve inanıyorum ki her görev için bir çözüm olmalı evrensel olmaktan ziyade Bu nedenle, bu yazıda size anlatacağım, JavaScript'te görsel düzenleyici nasıl oluşturulur.

Yarasadan hemen sonra oldukça iyi yorumlanmış bir kod veriyorum:







İlk bakışta, kod çok karmaşık görünüyor. Ve öyle, ama bunu temel unsurlar açısından ele alırsak, o zaman karmaşık bir şey yoktur. Orada düzenli form ve gizli alan ortaya çıkan düzenleyicinin kaydedildiği yer HTML Kodu... Editörün kendisi sıradan bir çerçevedir, yani sıradan bir çerçevedir. HTML sayfası, içine metin yazabileceğimiz ( designMode = "açık"). Ve yöntem kullanılarak çeşitli biçimlendirmeler oluşturulur. execKomut () parametrede belirtilen komutu yürütür. Ve yeni düğmeler oluşturmanız ve bunlara benzer işleyiciler eklemeniz zor olmayacaktır diye düşünüyorum.

Bu senaryoda gereksiz hiçbir şey yoktur, sadece en önemli ve temeldir ve temel olarak alınabilir. JavaScript'te kendi görsel düzenleyicinizi oluşturma, içinde gereksiz hiçbir şey olmayacak, sadece ihtiyacınız olan şey.

Aç/kaydet iletişim kutusu yerine tarayıcıda PDF'yi görüntülemek için kodu başarıyla oluşturdum. Şimdi görüntülemeye çalışırken sıkışıp kaldım Word belgesi tarayıcıda. Firefox, IE7 +, Chrome vb.'de bir Word belgesi görüntülemek istiyorum.

biri yardım edebilir mi? Tarayıcıda doc kelimesini görüntülerken her zaman bir aç/kaydet iletişim kutusu alıyorum. Bu işlevi JavaScript ile uygulamak istiyorum.

6 yanıt

ancak yerleşik desteği tercih ediyorsanız, tüm tarayıcılarda olmasa da çoğunda .doc / .docx dosyasını PDF olarak yeniden kaydetmenizi öneririm, bunlar Mozilla'nın PDF.js biçimi kullanılarak bağımsız olarak da oluşturulabilir.

Brandon'ın ve fatbotdesigns'ın cevapları doğru, ancak uygulanıyor Ön izleme google docs, google tarafından işlenemeyen birkaç .docx dosyası bulduk. MS Office çevrimiçi önizlemesine geçildi ve bir cazibe gibi çalışıyor.

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

html'yi istemci tarafında (belirli bir sırayla) dönüştürmek için .docx'i (.doc yok) işleyebilen bazı js kitaplıkları var gibi görünüyor:

    https://github.com/lalalic/docx2html - html'de docx, çoğu öğe desteklenir

    https://github.com/mwilliamson/mammoth.js - Başlıkları, Listeleri, Tabloları, Dipnotları, Dipnotları, Resimleri ve Kutu Metni Destekler! - 1 ->

    https://www.npmjs.com/package/docx2html - tarayıcıda HTML belgelerini DOCX'e dönüştürme

    https://github.com/artburkart/docx2html - görünüşe göre tarayıcıda çalışıyor

Not: İstemci tarafında bir doc / docx dosyasını dönüştürmenin daha iyi bir yolunu arıyorsanız, cevap muhtemelen gerek yok... Gerçekten yapmanız gerekiyorsa yapın. sunucu tarafında, yani başsız modda libreoffice, apache-poi veya sizin için en iyi kütüphane hangisiyse.

ViewerJS, odt, odp, ods ve pdf gibi openoffice formatlarını görüntülemek/gömmek için kullanışlıdır.

openoffice / pdf belgesini gömmek için

/ ViewerJS / ViewerJS yoludur

# .. / demo / ohm2013 - dosyanızın yolunu ekleyin

Bu, Google ve Microsoft hizmetlerindeki tüm çalışma zamanı bağımlılıklarını kaldıracaktır (örneğin, varsa veya bunlarla sınırlıysanız).

Ayrıca, isterseniz diğer dosya türlerine genişletebilme avantajına da sahiptir (PPTX, XLS, DOC, vb.)

JavaScript kodunu normal bir "Not Defteri"ne yazabilirsiniz - sonucu .js uzantısıyla kaydetmeniz yeterlidir; bu yalnızca siteye bağlanmakla kalmaz, aynı zamanda çalışır. Ancak, bu kadar sınırlı bir düzenleyici kullanmak, geliştirmeyi büyük ölçüde yavaşlatacaktır. Bu nedenle, özel bir şey almak daha iyidir. JavaScript koduyla çalışmak için bir düzenleyici seçmek için birkaç ana kriter vardır.

İlk olarak, sözdizimi vurgulamasına ihtiyacımız var: isimler, operatörler ve Özel semboller kodun hızlı bir şekilde okunabilmesi için farklı şekilde görüntülenmelidir.

Notepad ++'da sözdizimi vurgulama

İkinci olarak, otomatik tamamlamaya ihtiyacınız vardır: bir fonksiyon veya değişkenin adını girdiğinizde, editör muhtemelen girmek istediğiniz komutlar için birkaç seçenek sunmalıdır. Seçilen bileşene ilişkin ipuçlarını da göstermesi arzu edilir - örneğin, gerekli argümanlar, değişkenin türü, Kısa Açıklama vesaire.

Not Defteri ++ ile otomatik tamamlama

Üçüncüsü, bireysel blokları gizleme yeteneğine ihtiyacınız var. Büyük projeler üzerinde çalışırken, ihtiyacınız olanı bulmak için büyük kod parçaları arasında gezinmeniz gerekmediği için bu yararlıdır.

Visual Studio Kodunda blokları gizleme

Hataların vurgulanması arzu edilir - o zaman hemen fark edebilir ve düzeltebilirsiniz:

Visual Studio Kodunda Hataları Görüntüleme

İyi bonuslar, bir pencerede birkaç dosyayla çalışma, bir proje yöneticisi, çeşitli temalar, eklentilerin kurulumu vb.

Bu gereksinimleri karşılayan ve JavaScript ile çalışmaya uygun çok sayıda düzenleyici vardır. Neye kod yazılacağı herkesin kişisel işidir, ancak birçoğu doğru programı seçme konusunda sorun yaşar, bu yüzden 6 iyi araçtan oluşan bir liste derledik.

not defteri ++

Notepad ++ basit ve kullanımı kolay bir açık kaynak düzenleyicidir kaynak kodu... JS, otomatik biçimlendirme ve otomatik tamamlama dahil olmak üzere çeşitli diller için sözdizimi vurgulama özelliğine sahiptir. Sekmeler şeklinde navigasyon var, dosya yöneticisi ve kod haritaları.

Farklı kodlamalarla çalışabilir, derleyicileri bağlayabilir, eklentileri ve diğer faydalı işlevleri kullanabilirsiniz. Örneğin, QuickText eklemek, yerleşik otomatik tamamlamayı iyileştirecektir.

Notepad ++ düzenli olarak güncellenir, bu nedenle hataları hızla düzeltir ve yeni özellikler ekler. Ne yazık ki, yalnızca Windows'ta çalışır.

Vim

Vim editörü uzun zamandır bir klasik olmuştur. Birçok kişi bunu anlamanın zor olduğunu söylüyor ancak buna yeterince zaman ayırırsanız başka bir şey kullanmak istemeyeceksiniz.

Seçtiğimiz tüm kriterleri karşılamanın yanı sıra, Vim tamamen özelleştirilebilir, böylece şunları yapabilirsiniz:

  • eklentileri yükleyin;
  • temaları değiştir;
  • kısayol tuşları atama vb.

Vim tamamen ücretsizdir ve Windows, MacOS ve Linux'tan MS DOS ve OS/2'ye kadar tüm platformlarda çalışır.

Microsoft Visual Studio

Microsoft Visual Studio, JS ile çalışmak için ihtiyacınız olan her şeye sahip bir IDE'dir. Olağan sözdizimi vurgulama ve otomatik tamamlamaya ek olarak, bir hata ayıklayıcı kullanabilir ve Birim testleri oluşturabilirsiniz.

Ancak program çok ağırdır ve sistemi ağır yükler, bu nedenle zayıf bilgisayarlarda çalışmak için çok uygun değildir.

Aylık abonelik, aylık 45 ila 250 ABD Doları arasında değişebilir, ancak ayrıca ücretsiz sürüm acemi geliştiriciler ve açık kaynaklı yazılım oluşturanlar için. IDE, Windows ve MacOS için mevcuttur ve Linux'ta Wine kullanılarak kurulabilir.

Visual Studio Kodu

Visual Studio Code, Visual Studio'nun hafif (~ 170 MB'a karşılık 30 GB), platformlar arası ve ücretsiz bir sürümüdür. Bu düzenleyici, JavaScript, TypeScript ve Node.JS desteği ile önceden yüklenmiş olarak gelir.

Diğer dillere sahip uzantılar doğrudan Visual Studio Code'dan indirilebilir.

GitHub sürüm kontrol sistemiyle çalışmak için yerleşik hata ayıklayıcı ve Git komutları, uygulamaların test edilmesini ve yayınlanmasını hızlandırmanıza olanak tanır.

Yüce metin

Sublime Text, basit bir platformlar arası düzenleyicidir. Arayüzü özelleştirilebilir ve kısayol tuşları kullanılarak bazı işlemler gerçekleştirilebilir.

Ayrıca snippet desteği, otomatik tamamlama, sözdizimi vurgulama ve gezinme özelliklerine sahiptir. Harika bir bonus, otomatik kaydetmedir. Ancak, yeni başlayanlar için daha çok ihtiyaç duyulmaktadır - sonuçta profesyonel programcılar yıllar içinde, her komuttan sonra ısrar etme alışkanlığı geliştirin.

Sublime Text'in ana dezavantajı şudur: tam versiyon 80 $ maliyeti (lisans, editörü herhangi bir bilgisayarda kullanabilen bir kullanıcı için verilir). yoksa çok yakışıyor
JS geliştiricileri.

Herhangi biri bana javascript Belge Düzenleyicisinde (istemci ucu) kullanıcının doc, docx, odf, vb. Gibi belgeleri görüntüleyebileceği ve düzenleyebileceği herhangi bir kitaplık önerebilir mi?

1 Yanıt


1

En iyi seçeneğiniz, dönüştürücüleri aramak ve ardından dönüştürülen içeriği düzenlemektir.

için bakıyordum çalışma çözümü birkaç haftadır ve şimdiye kadar bulduğum en iyisi docx2html.

Geliştirme platformunuza bağlı olarak Google "ONLYOFFICE Belge Sunucusu Topluluk Sürümü"nü de kullanabilirsiniz. Word, Excel ve Powerpoint için sayfa düzenleyicileri var - ancak bunlar asp. Açık kaynaklı bir platformdur ve Github'da mevcuttur. Yine de bir göz atmaya değer olabilir.


Jquery/javascript kullanarak doc/docx'i html'ye dönüştürmek mümkün müdür?

doc / docx'i html'ye dönüştürmem gerekiyor. Amazon s3'te depolanan dosyalarım var. Bir tarayıcıda görüntülemem ve düzenlemem gerekiyor. Şu anda Apache POI kullanıyorum ...


docx javascript şablonundan docx belgeleri oluşturma

Javascript'te docx şablonundan docx belgeleri oluşturabilen ve etiketleri değerleriyle değiştirebilen ve resimleri diğer resimlerle değiştirebilen bir kitaplık arıyorum kitaplığın adını buldum ...


POI'de bir doc veya docx dosyasının olup olmadığına nasıl karar verilir

Başlık biraz kafa karıştırıcı olabilir. En basit yöntem, tıpkı aşağıdaki gibi, uzantının adına dayalı olmalıdır: // is, InputStream if (filePath.endsWith (doc)) (WordExtractor ex = new ...


doc veya docx: python3'teki "isteklerden" türü tanımlamanın bir güvenli yolu var mı?

1) doc ve docx dosyalarını isteklerden nasıl ayırt edebilirim? a) örneğin, url = "https://www.iadb.org/Document.cfm?id=36943997" varsa, r = request.get (url, zaman aşımı = 15) ...


.Net ve C# içindeki doc ve docx dosyalarını içe aktarma

yazıyorum Metin düzeltici ve .doc ve.docx dosyalarını içe aktarma özelliğini eklemek istiyorum. OLE Otomasyonunu kullanabileceğimi biliyorum, ancak en son OLE kitaplığını kullanırsam...


Web formlarında belgeleri (DOC, DOCX, RTF, TXT) düzenleme

asp.net 3.5 kullanarak bir web uygulaması geliştiriyorum. Bu uygulama .doc, .docx, .rtf, .pdf, .txt, vb. gibi birçok belgeye sahiptir ve bazen bu belgeleri düzenlemeniz gerekir. ...


DOC / DOCX'i Semantik HTML'ye Dönüştür

doc / docx belgelerini anlamsal HTML'ye dönüştürmek istiyorum. Bazı istekler/gereksinimler: Belgedeki başlıklar şöyle olacak şekilde anlamsal HTML

,

vb. tablolar -...


Dokümanı docx'e ve docx'i pdf'ye dönüştürmek için Golang paketleri?

Golang'da kullanıcının bir doc veya docx dosyası yükleyebileceği bir web uygulaması yazıyorum. Dosyanın içeriğinin bir kısmı önceden tanımlanmış bir formata göre değiştirilecektir. Daha sonra kullanıcı...


Zengin Word belgesini RichText düzenleyici telerik düzenleyicisine yükleyin

Bir tür kelime belgesi yüklediğim ve DB'ye kaydettiğim bir formum var. Daha sonra bu belgelerin bazı etiketlemelerini yapmam gerekiyor. Şu anda için hiçbir şey bulamadım ...


doc dosyasını docx formatına dönüştürün

docx dosyasını Zip formatında olduğu gibi html'ye çevirdim. ama benim de doc dosyalarını dönüştürmem gerekiyor. docx'teki doc dosyasını kod kullanarak değiştirmenin bir yolu var mı (java'yı tercih edin) Lütfen ...

Bir kod düzenleyici, her programcı için kullanışlı bir araçtır. Ve herkes kendisi için seçer: biri işlevselliği, birinin hareketliliğini takdir eder, biri için asıl şey tasarım ve rahatlıktır. Bazı insanlar Not Defteri'nde kod yazmayı bile sever, ancak bu bir çekiçle bir ev inşa etmeye çalışmak gibidir.

JavaScript güçlü ve karamsar bir dildir. Bir yanda birçok çerçeve ve kitaplık var, diğer yanda "dinamikler" ile ilgili en basit sözdizimi ve tehlikeler değil. Bu nedenle, onunla çalışmak için bir editör seçmek önemlidir. Doğru seçim size temiz kod, yüksek geliştirme hızı, minimum hata ve işinizden keyif almanızı sağlayacaktır. Yüzlerce mevcut editörden birini seçmek çok zaman alacak, bu yüzden işin bir kısmını sizin için yaptık. İşte ilk 5

WebFırtınası

JetBrains'in WebStorm'u her iki tezahüründe de mükemmeldir: bir IDE olarak, sürüm kontrol sistemleriyle çalışmayı destekler, bir editör gibi kodu uzaktan dağıtmanıza izin verir - sözdizimi vurgulama, otomatik tamamlama, gezinme gibi standart kolaylıklar.

Avantajlar:

  • LiveEdit - kodda yapılan değişiklikleri kaydetmeden görüntüleyin;
  • React, Angular, Meteor gibi çerçevelerle etkileşim;
  • hataları tespit etmek için yüzden fazla yerleşik test;
  • birim testleri için Mocha, İletki, Jest, Karma ile entegrasyon;
  • sunucu ve istemci tarafında kod hata ayıklamak için tam gelişmiş hata ayıklayıcı;
  • birkaç dosyayla eşzamanlı çalışma için gezinme;
  • kod tamamlama, sözdizimi vurgulama.

Dezavantajları:

  • ilk işletme yılı için 129 $ maliyeti;
  • acemi kodlayıcılar için işlevsellik gereksizdir.

Visual Studio Kodu

Visual Studio IDE'nin bir çatalı, kodla çalışmaya odaklandı. Öğrenmesi kolay, kullanımı kolay ve aynı zamanda işlevseldir.

Avantajlar:

  • bağlamsal otomatik tamamlama, hem sözdizimi hem de kullanılan değişkenler, modüller, işlevler vb.;
  • kesme noktaları, çağrı yığını, etkileşimli konsol ile hata ayıklayıcı;
  • snippet'ler ve şablonlar için destek;
  • Git ile entegrasyon;
  • kullanışlı ve basit arayüz;
  • ücretsiz editör.

Dezavantajları:

  • birkaç eklenti.

Yüce metin

Özelleştirilebilir bir arayüze ve kısayol tuşlarını kullanarak önemsiz eylemler gerçekleştirme yeteneğine sahip, kullanışlı ve zaman içinde test edilmiş bir çapraz platform düzenleyici.

Avantajlar:

  • Kısayol tuşları;
  • mini harita şeklinde kodda gezinme;
  • görsel temayı değiştirme yeteneği;
  • snippet'ler için destek;
  • vurgulama, değişken ve sözdizimi tamamlama;
  • işaretçi kullanımı sayesinde birden fazla düzenleme;
  • sistem desteği oluşturmak;
  • yazım anında sözdizimini kontrol etme;
  • otomatik kaydetme.

Dezavantajları:

  • tam sürüm 70 dolar;
  • bağlantıları yerleştirmek için bir kod çözümleyicisinin olmaması.

Atom Düzenleyici

2015'te, Sublime Text'in tasarımını kopyalayan ve Chromium'a sarılmış bir Git kod düzenleyicisi tanıtıldı.

Avantajlar:

  • 50'den fazla açık modül;
  • kullanışlı ve hoş arayüz;
  • Bedava;
  • kod tamamlama ve vurgulama;
  • zaten 3.5 binden fazla olan paket yöneticisi;
  • esnek ayarlar editör, eklenti paketleri, arayüz temaları;
  • kısayol tuşlarını kullanarak düzenleme ve gezinme.

Dezavantajları:

  • Düşük verimlilik;
  • boş paket "kutunun dışında".

Parantez

2014'te Brackets, programcıları hatalar ve kusurlarla korkuttu, ancak şimdi yeni yüksek kaliteli işlevsellik ile yavaş yavaş güvene dönüyor.

Avantajlar:

  • "kutudan çıktığı gibi" zengin paket paketi;
  • Canlı Önizleme modu - tarayıcıdaki düzenlemeleri gerçek zamanlı olarak önizleyin;
  • Paketleme yöneticisi;
  • kodda kullanılan resimlerin ve renklerin gösterilmesi;
  • otomatik tamamlama ve sözdizimi vurgulama;
  • kod analizörü;
  • Bedava.

Dezavantajları:

  • web ve HTML + CSS + JavaScript'e sıkı bir şekilde odaklanma;
  • yavaş gelişme;
  • önizleme işlevleri nedeniyle yavaş performans.