Pergunta

Existe uma maneira programática para extrair equações (e possivelmente imagens) de um documento do MS Word? Eu pesquisei todo, mas ainda têm de encontrar qualquer coisa que eu possa afundar meus dentes em e trabalhar a partir. Se possível, eu gostaria de ser capaz de fazer isso com VB.NET ou C #, mas eu posso pegar o suficiente de qualquer idioma para cortar fora uma DLL. Obrigado!

EDIT:. Agora eu estou olhando para extrair as equações do Word 2003, mas se convertendo-a em 2007 / Open XML é exigido, que é muito bem

Foi útil?

Solução

Eu não sei se algum de isso vai ajudar, mas o modelo de objeto no Word 2000/2003 tem uma coleção InlineShapes como parte do objeto Document que representa imagens embutidas e objetos possivelmente semelhantes, como equações.

Alguns código VBA para copiar o primeiro item na área de transferência, que pode ajudá-lo a extrair-lhes:

ThisDocument.InlineShapes.Items(1).Select
Selection.Copy

É acessível em .NET também, MSDN ligação .

Outras dicas

formato Que Palavra são os seus documentos em? Se eles estão em Open XML (extensão .docx arquivo), você pode usar o Open XML SDK disponibilizado pela Microsoft para imagens extrair e conteúdo incorporado.

An Open arquivo XML não é nada além de um arquivo zip usando uma estrutura especial. Você vai encontrar exemplos no SDK como partes de acesso de que arquivo zip. Na verdade, você poderia usar qualquer biblioteca zip com capacidade para extrair o conteúdo do pacote de documentos.

Se os documentos ainda usam os mais velhos formato coisas binários são um pouco mais complicado. Eu acho que a maneira mais fácil seria a de converter os documentos para o formato Open XML. Existem várias maneiras de fazer isso:

  • Obter o livre e aberto b2xtranslator do SourceForge que lhe oferece C # DLLs para conversão de arquivo.
  • Instale da Microsoft Compatibility pack e use a seguinte linha de comando para a conversão:

    "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme input\_file output_file

onde input_file e output_file devem ser nomes de caminho completos.

Tente olhar para o Palavra-to-latex conversor. Ele requer o framework .Net e embora a fonte não é aberto mas o autor não convidar perguntas sobre isso.

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