Como fazer um editor visual em JavaScript. Como exibir um documento do Word (.doct., Docx) em um navegador usando JavaScript

Certamente, você já se deparou com muitas vezes editores visuais, permitindo que você forme de forma bastante conveniente a aparência de páginas ou algumas mensagens, por exemplo, em um fórum. E não com Códigos BB, mas obtendo imediatamente um resultado específico. Existem muitos desses editores na Internet. Um dos mais populares é TinyMCE no entanto, sou um defensor dos meus próprios scripts e acredito que deve haver uma solução para cada tarefa em vez de universal. Portanto, neste artigo, direi a você, como criar editor visual em JavaScript.

De cara, apresento um código bem comentado:







À primeira vista, o código parece muito complexo. E assim é, mas se o considerarmos em termos de elementos básicos, então não há nada de complicado. Há forma usual e o campo escondido onde o editor resultante é salvo Código HTML... O próprio editor é um quadro comum, ou seja, um quadro comum Página HTML, em que podemos escrever um texto ( designMode = "ligado") E várias formatações são criadas usando o método execCommand () que executa o comando especificado no parâmetro. E acho que não será difícil para você criar novos botões e anexar manipuladores semelhantes a eles.

Não há nada supérfluo neste script, apenas o mais importante e básico, e pode ser tomado como base para criando seu próprio editor visual em JavaScript, em que não haverá nada supérfluo, mas apenas o que você precisa.

Alguém pode me sugerir alguma biblioteca no editor de documentos javascript (cliente final) onde o usuário pode visualizar e editar documentos como doc, docx, odf, etc.

1 resposta


1

Sua melhor aposta é procurar conversores e, em seguida, editar o conteúdo convertido.

Há algumas semanas estou procurando uma solução que funcione e o melhor que encontrei até agora é docx2html.

Dependendo da sua plataforma de desenvolvimento, você também pode usar o Google "ONLYOFFICE Document Server Edição da comunidade". Eles têm editores de páginas para Word, Excel e Powerpoint - mas são asp. É uma plataforma de código aberto e disponível no Github. Mas vale a pena dar uma olhada.


É possível converter doc / docx para html usando jquery / javascript?

Eu preciso converter doc / docx para html. Tenho arquivos armazenados no Amazon s3. Preciso visualizar e editar em um navegador. No momento, estou usando o Apache POI para ...


Gerando documentos docx a partir do modelo javascript docx

Estou procurando uma biblioteca em javascript que pode gerar documentos docx a partir de um modelo docx e pode substituir tags por seus valores e substituir imagens por outras imagens. Achei o nome da biblioteca ...


como julgar se um arquivo doc ou docx está no POI

O título pode ser um pouco confuso. O método mais simples deve ser baseado no nome da extensão, assim como: // representa o InputStream if (filePath.endsWith (doc)) (WordExtractor ex = new ...


doc ou docx: existe um caminho seguro para identificar o tipo de "solicitações" em python3?

1) Como posso distinguir arquivos doc e docx de solicitações? a) por exemplo, se eu tiver url = "https://www.iadb.org/Document.cfm?id=36943997" r = requests.get (url, timeout = 15) ...


Importando arquivos doc e docx em .Net e C #

Eu escrevo editor de texto e desejo adicionar a capacidade de importar arquivos .doc e .docx. Eu sei que posso usar a automação OLE, mas se eu usar a biblioteca OLE recente, ela não ...


Editando documentos (DOC, DOCX, RTF, TXT) em formulários da web

Estou desenvolvendo um aplicativo da web usando asp.net 3.5. Este aplicativo tem muitos documentos como .doc, .docx, .rtf, .pdf, .txt, etc ... e às vezes é necessário editar esses documentos. EM...


Converter DOC / DOCX em HTML semântico

Eu gostaria de converter documentos doc / docx em HTML semântico. Alguns desejos / requisitos: HTML semântico de modo que os títulos do documento sejam

,

etc., tabelas -...


Pacotes Golang para converter doc para docx e docx para pdf?

Estou escrevendo um aplicativo da web em Golang onde o usuário pode fazer upload de um arquivo doc ou docx. Parte do conteúdo do arquivo será alterado de acordo com um formato predefinido. Mais tarde, usuário ...


Carregue o documento Rich Word no editor RichText editor telerik

Eu tenho algum formulário onde carrego algum tipo de documento do Word e salve-o no banco de dados. Mais tarde, tenho que fazer algumas etiquetagens desses documentos. Atualmente não encontrei nada para ...


Converter arquivo doc para formato docx

Converti o arquivo docx para html, pois está no formato Zip. mas também preciso converter arquivos doc. Existe uma maneira de alterar o arquivo doc em docx usando código (preferir java) Por favor ...

Fiz com sucesso o código para exibir o PDF no navegador em vez da caixa de diálogo abrir / salvar. Agora estou tentando exibir um documento do Word em um navegador. Quero exibir um documento do Word no Firefox, IE7 +, Chrome, etc.

alguém pode ajudar? Sempre recebo uma caixa de diálogo para abrir / salvar ao exibir o documento do Word no navegador. Quero implementar essa funcionalidade com JavaScript.

6 respostas

no entanto, se você preferir ter suporte integrado, na maioria, senão em todos os navegadores, eu recomendaria salvar novamente .doc / .docx como um PDF, eles também podem ser renderizados independentemente usando o formato PDF.js do Mozilla.

As respostas de Brandon e fatbotdesigns estão corretas, mas implementando antevisão google docs, encontramos vários arquivos .docx que não puderam ser processados ​​pelo google. Mudou para a pré-visualização online do MS Office e funciona perfeitamente.

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

parece haver algumas bibliotecas js que podem lidar com o .docx (não .doc) para converter o html no lado do cliente (em uma ordem específica):

    https://github.com/lalalic/docx2html - docx em html, a maioria dos elementos são suportados

    https://github.com/mwilliamson/mammoth.js - Suporta cabeçalhos, listas, tabelas, notas de rodapé, notas de rodapé, imagens e caixa de texto! - 1 ->

    https://www.npmjs.com/package/docx2html - conversão de documentos HTML em DOCX no navegador

    https://github.com/artburkart/docx2html - aparentemente funciona no navegador

Nota: Se você estiver procurando por A melhor maneira converter arquivo doc / docx do lado do cliente, então provavelmente a resposta é não há necessidade... Se você realmente precisa fazer isso, faça. no lado do servidor, ou seja, com libreoffice no modo headless, apache-poi ou qualquer biblioteca que seja melhor para você.

O ViewerJS é útil para visualizar / incorporar formatos openoffice como odt, odp, ods e também pdf.

para incorporar documento openoffice / pdf

/ ViewerJS / é o caminho do ViewerJS

# .. / demo / ohm2013 - o caminho que você deseja adicionar ao seu arquivo

Isso removerá quaisquer dependências de tempo de execução do Serviços Google e a Microsoft (por exemplo, se fossem ou você estivesse limitado a eles).

Também tem a vantagem de poder expandir para outros tipos de arquivo, se desejar (PPTX, XLS, DOC, etc.)

Um editor de código é uma ferramenta útil para todo programador. E cada um escolhe por si mesmo: alguém valoriza a funcionalidade, a mobilidade de alguém, para alguém o principal é o design e a conveniência. Algumas pessoas até gostam de escrever código no Bloco de notas, mas é como tentar construir uma casa com um martelo.

JavaScript é uma linguagem poderosa e temperamental. Por um lado, existem muitos frameworks e bibliotecas, por outro, não a sintaxe mais simples e os perigos associados à "dinâmica". Portanto, é importante escolher um editor para trabalhar com ele. Escolha certa mantém seu código limpo, alta velocidade desenvolvimento, erros mínimos e prazer no trabalho. Levará muito tempo para escolher um dos centenas de editores existentes, por isso fizemos parte do trabalho para você. Aqui estão os 5 principais.

WebStorm

O WebStorm da JetBrains é excelente em ambas as manifestações: como IDE, ele suporta o trabalho com sistemas de controle de versão, permite que você implante código remotamente, como um editor - conveniências padrão, como destaque de sintaxe, preenchimento automático, navegação.

Vantagens:

  • LiveEdit - exibe as alterações feitas no código sem ter que salvá-lo;
  • interação com frameworks como React, Angular, Meteor;
  • mais de cem testes integrados para detecção de erros;
  • integração com Mocha, Transferidor, Jest, Karma para testes de unidade;
  • depurador completo para depurar código no servidor e no cliente;
  • navegação para trabalho simultâneo com vários arquivos;
  • autocompletar código, destaque de sintaxe.

Imperfeições:

  • custa $ 129 para o primeiro ano de operação;
  • para programadores novatos, a funcionalidade é redundante.

Código Visual Studio

Uma bifurcação do IDE do Visual Studio focada em trabalhar com código. É fácil de aprender, fácil de usar e funcional ao mesmo tempo.

Vantagens:

  • autocompletar contextual, sintaxe e variáveis ​​usadas, módulos, funções, etc.;
  • depurador com pontos de interrupção, pilha de chamadas, console interativo;
  • suporte para snippets e modelos;
  • integração com Git;
  • interface conveniente e simples;
  • editor gratuito.

Imperfeições:

  • alguns plugins.

Texto sublime

Um editor de plataforma cruzada conveniente e comprovado com uma interface personalizável e a capacidade de realizar ações triviais usando teclas de atalho.

Vantagens:

  • Teclas de atalho;
  • navegação pelo código em forma de minimapa;
  • a capacidade de mudar o tema visual;
  • suporte para snippets;
  • realce, conclusão de variável e sintaxe;
  • múltiplas edições graças ao uso de ponteiros;
  • suporte de sistemas de construção;
  • verificar a sintaxe no momento da entrada;
  • salvamento automático.

Imperfeições:

  • versão completa custa $ 70;
  • falta de um analisador de código para colocar links.

Editor Atom

Lançado em 2015, um editor de código Git que copia o design do Sublime Text e embrulhado em Chromium.

Vantagens:

  • mais de 50 módulos abertos;
  • interface conveniente e agradável;
  • gratuitamente;
  • autocompletar e realce de código;
  • gerenciador de pacotes, dos quais já são mais de 3,5 mil;
  • configurações flexíveis para o editor, pacotes de plug-ins, temas de interface;
  • edição e navegação usando hotkeys.

Imperfeições:

  • Produtividade baixa;
  • embalagem vazia "fora da caixa".

Colchetes

Em 2014, Brackets assustou os programadores com bugs e falhas, mas agora está gradualmente retornando a confiança com novas funcionalidades de alta qualidade.

Vantagens:

  • pacote de pacote rico "pronto para usar";
  • Modo de visualização ao vivo - visualize edições no navegador em tempo real;
  • gerenciador de pacotes;
  • mostrando as imagens e cores usadas no código;
  • preenchimento automático e destaque de sintaxe;
  • analisador de código;
  • gratuitamente.

Imperfeições:

  • foco estrito na web e HTML + CSS + JavaScript;
  • desenvolvimento lento;
  • desempenho lento devido às funções de visualização.

Escreve uma mensagem Código JavaScript você também pode usar um "Bloco de notas" comum - basta salvar o resultado com a extensão .js e ele não apenas se conectará ao site, mas até funcionará. No entanto, usar um editor tão limitado retardaria muito o desenvolvimento. Portanto, é melhor levar algo especializado. Existem vários critérios principais para escolher um editor para trabalhar com o código JavaScript.

Primeiro, você precisa de realce de sintaxe: nomes, operadores e caracteres especiais devem ser exibidos de forma diferente para que você possa ler o código rapidamente.

Destaque de sintaxe no Notepad ++

Em segundo lugar, você precisa do preenchimento automático: ao inserir o nome de uma função ou variável, o editor deve oferecer várias opções para os comandos que você provavelmente deseja inserir. É desejável que ele também mostre dicas para o componente selecionado - por exemplo, os argumentos necessários, o tipo da variável, Pequena descrição etc.

Preenchimento automático no Notepad ++

Terceiro, você precisa da capacidade de ocultar blocos individuais. Ao trabalhar em projetos grandes, isso é útil porque você não precisa rolar por pedaços enormes de código para encontrar o que você precisa.

Escondendo blocos no Visual Studio Code

É desejável que os erros sejam destacados - então você pode notar e corrigi-los imediatamente:

Exibindo erros no código do Visual Studio

Bons bônus serão a capacidade de trabalhar com vários arquivos em uma janela, um gerente de projeto, uma escolha de temas, instalação de plug-ins e assim por diante.

Existir um grande número de editores que atendem a esses requisitos e são adequados para trabalhar com JavaScript. O que escrever código é assunto privado de todos, mas muitos têm problemas para escolher o programa certo, então compilamos uma lista de 6 boas ferramentas.

Notepad ++

Notepad ++ é um editor de código aberto simples e fácil de usar. Possui realce de sintaxe para vários idiomas, incluindo JS, formatação automática e preenchimento automático. Há navegação na forma de guias, gerenciador de arquivos e mapas de código.

Disponível para trabalhar com diferentes codificações, conectando compiladores, usando plugins e outros funções úteis... Por exemplo, adicionar QuickText melhorará o preenchimento automático integrado.

O Notepad ++ é atualizado regularmente, então ele corrige bugs rapidamente e adiciona novos recursos. Infelizmente, ele só funciona no Windows.

Vim

O editor Vim é um clássico há muito tempo. Muitas pessoas dizem que é difícil de entender, mas se você dedicar tempo suficiente a isso, não vai querer usar outra coisa.

Além de atender a todos os critérios que escolhemos, o Vim também é totalmente personalizável, para que você possa:

  • instalar plug-ins;
  • mudar temas;
  • atribuir teclas de atalho e assim por diante.

O Vim é totalmente gratuito e funciona em todas as plataformas, desde Windows, MacOS e Linux até MS DOS e OS / 2.

Microsoft Visual Studio

O Microsoft Visual Studio é um IDE que tem tudo que você precisa para trabalhar com JS. Além do realce de sintaxe usual e do preenchimento automático, você também pode usar um depurador e criar testes de unidade.

No entanto, o programa pesa muito e carrega o sistema muito, por isso não é muito adequado para trabalhar em computadores fracos.

Uma assinatura mensal pode custar de $ 45 a $ 250 por mês, mas também há versão gratuita para desenvolvedores novatos e aqueles que criam software de código aberto. O IDE está disponível para Windows e MacOS e no Linux pode ser instalado usando o Wine.

Código Visual Studio

O Visual Studio Code é uma versão leve (~ 170 MB versus 30 GB), multiplataforma e gratuita do Visual Studio. Este editor vem pré-instalado com suporte para JavaScript, TypeScript e Node.JS.

Extensões com outras linguagens podem ser baixadas diretamente do Visual Studio Code.

O depurador integrado e os comandos Git para trabalhar com o sistema de controle de versão GitHub permitem acelerar o teste e a publicação de aplicativos.

Texto sublime

Sublime Text é um editor de plataforma cruzada simples. Sua interface é personalizável e algumas ações podem ser executadas por meio de teclas de atalho.

Ele também tem suporte a snippet, preenchimento automático, destaque de sintaxe e navegação. Um bônus legal é o salvamento automático. No entanto, é mais necessário para iniciantes - afinal, os programadores profissionais ao longo dos anos de trabalho desenvolveram o hábito de persistir após inserir cada comando.

A principal desvantagem do Sublime Text é que a versão completa custa US $ 80 (a licença é emitida para um usuário que pode usar o editor em qualquer computador). Caso contrário, se encaixa bem
Desenvolvedores JS.