Pergunta

Como faço para carregar MS Word documento (.doc e .docx) para a memória (variável) sem fazer isso:?

wordApp.Documents.Open

Eu não quero abrir MS Word, eu só quero que dentro texto.

Você me deu responder por DOCX, mas que sobre DOC? Eu quero solução desempenho livre e alto - não abrir 12.000 instâncias do Word para processar todos eles. :( Aspose é produto comercial, e 900 $ é uma maneira muito para o que eu faço.

Foi útil?

Solução

Você pode usar wordconv.exe que faz parte do Office Compatibility Pack para converter doc para docx.

http: // www .microsoft.com / download / details.aspx? familyid = 941b3470-3ae9-4aee-8f43-c6bb74cd1466 & displaylang = en

Basta ligar para o comando da seguinte forma: "C: \ Program Files \ Microsoft Office \ Office12 \ wordconv.exe" -oice -NMe InputFile OutputFile

Eu não tenho certeza se você precisar de texto instalado para que ele seja executado, mas ela não funciona. Eu usá-lo localmente como um Windows shell de comandos para converter arquivos de escritório velhos para o formato 2007 quando eu quiser.

Outras dicas

Para docx formatado documentos do Word Eu encontrei este artigo interessante sobre o CodeProject

Usando DocxToText para extrair texto de arquivos DOCX

No artigo, os discute autor extirpando-se apenas as próprias palavras.

Para o seu doc ??(não-docx) do Word outros do que usar as APIs do Office e (no fundo) gerando uma instância do Word que você poderia tentar descascar para fora de um dos muitos conversores diferentes Doc2Docx no mercado e, em seguida, aplicar o Documents acima processo para ambos.

Se você está lidando com docx você pode fazer isso com fora fazendo qualquer interoperabilidade com a Palavra arquivo.docx realmente um ZIP contém um arquivo XML, você pode ler o XML Por favor, consulte o abaixo ligações

http: / /conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html

de escritório (2007) Open XML formatos de arquivo

Recentemente, fiz algumas pesquisas sobre este tema. Acontece que para ser capaz de manipular arquivos de texto programaticamente, sem palavra de abertura em si você precisa de algumas ferramentas muito caros.

Há um artigo sobre a projeto de código na manipulação Palavra , você pode encontrá-lo útil. O autor construir um C # COM wrapper para lidar com as chamadas para Word. Parece que ele realmente se abre a palavra aplicação embora.

Este post sobre a os fóruns Neowin parece promissor também. Ele inclui algumas chamadas PInvoked para fins de extração de texto.

Talvez se você pudesse encontrar uma maneira de manter a janela oculta que seria aceitável.

Aspose tem um componente para ler, modificar e gravar documentos do Word. Aqui está o link do produto: Aspose.Words for .NET e Java

Aspose.Words permite .NET e Java aplicativos para ler, modificar e escrever documentos Word® sem utilizar Microsoft Word®. suportes Aspose.Words uma grande variedade de características, incluindo criação de documentos, conteúdo e formatação de manipulação, correio poderosa habilidades de mesclagem, suporte abrangente de DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument e PDF. Aspose.Words é verdadeiramente o mais acessível, mais rápido e rico em recursos componente do Word no mercado.

Com docxtemplater , você pode facilmente obter o texto completo de uma palavra (Funciona apenas com docx).

Aqui está o código (Node.js)

DocxTemplater=require('docxtemplater'); doc=new DocxTemplater().loadFromFile("input.docx"); result=doc.getFullText();

Este é apenas três linhas de código e não depende de qualquer instância palavra (todo o plain JS)

Eu não quero ser um antagonista, mas por quê?

Eu extraíram os dados de documentos do Word em servidores Linux usando word2x ou AbiWord e, dependendo do número e da variedade de docments sempre haverá erros com a extração. É pior a mais balas, quebras de página, seções de documentos e outras "especiais" apresenta existem.

Eu compreendo que há opções agora para automatizar OpenOffice aos documentos do processo, mas meu conselho é, se você pode, basta usar o Word para processar documentos do Word.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top