Domanda

Esiste un modo programmatico per estrarre equazioni (e possibilmente immagini) da un documento MS Word? Ho cercato su Google dappertutto, ma non ho ancora trovato nulla su cui poter affondare i denti e lavorare. Se possibile, mi piacerebbe essere in grado di farlo con VB.NET o C #, ma sono in grado di acquisire abbastanza linguaggio da hackerare una DLL. Grazie!

EDIT: In questo momento sto cercando di estrarre le equazioni da Word 2003, ma se è necessario convertirlo in 2007 / Open XML, va bene.

È stato utile?

Soluzione

Non so se qualcosa di tutto ciò possa aiutare, ma il modello a oggetti in Word 2000/2003 ha una InlineShapes raccolta come parte dell'oggetto Document che rappresenta immagini incorporate e possibilmente oggetti simili come equazioni.

Alcuni codici VBA per copiare il primo elemento negli Appunti, che potrebbe aiutarti a estrarli:

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

È accessibile anche in .NET, collegamento MSDN .

Altri suggerimenti

In che formato Word sono i tuoi documenti? Se sono in Open XML (estensione file .docx), è possibile utilizzare la Open XML SDK disponibile da Microsoft per estrarre immagini e contenuto incorporato.

Un file Open XML non è altro che un archivio zip che utilizza una struttura speciale. Troverai esempi nell'SDK su come accedere a parti dell'archivio zip. In realtà è possibile utilizzare qualsiasi libreria compatibile con zip per estrarre il contenuto dal pacchetto di documenti.

Se i documenti usano ancora il vecchio formato binario, le cose sono un po 'più complicate. Penso che il modo più semplice sarebbe convertire i documenti nel formato Open XML. Esistono diversi modi per farlo:

  • Ottieni il b2xtranslator gratuito e aperto da SourceForge che ti offre le DLL C # per la conversione dei file.
  • Installa Microsoft Pacchetto di compatibilità e utilizza la seguente riga di comando per la conversione:

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

dove input_file e output_file devono essere nomi di percorso completi.

Prova a guardare il convertitore Word-to-latex . Richiede il framework .Net e sebbene la fonte non sia ancora aperta, l'autore invita a fare domande al riguardo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top