私のプロジェクト用のアプリケーションを開発していると思いますが、それは過去の試験を読み込み/紙(ワードファイル)を実行し、それに応じて、そのセクションで質問と画像を抽出し、質問と画像をデータベースに保存します。.docx/.docファイルからSQL Serverにデータを抽出する方法に関する提案が必要
ですから、単語ファイルからデータを抽出し、データベースに挿入する方法についていくつかの提案が必要です。この記事のプレビューは、この記事の最後です。現在、いくつかの方法がありますが、ファイルにバックグラウンドイメージのテキストボックスが含まれている場合、どのように実装できるかわかりません。質問はイメージとリンクしなければならない。
方法1(MSオフィス相互運用機能を使用してください)
- ワードファイルをロード - 、>フォルダに保存 を抽出画像を - > .TXTとして保存テキスト、 を抽出 - >テキストを抽出
- 私は秒を検出するにはどうすればよい:.TXT、その後から質問デシベル に
を保存質問と質問?
- 画像を質問にリンクさせるにはどうすればよいですか? Wordファイルから
private object missing = Type.Missing; private object sFilename = @"C:\temp\questionpaper.docx"; private object sFilename2 = @"C:\temp\temp.txt"; private object readOnly = true; object fileFormat = Word.WdSaveFormat.wdFormatText; private void button1_Click(object sender, EventArgs e) { Word.Application wWordApp = new Word.Application(); wWordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone; Word.Document dFile = wWordApp.Documents.Open(ref sFilename, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); dFile.SaveAs(ref sFilename2, ref fileFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,ref missing, ref missing,ref missing,ref missing,ref missing,ref missing, ref missing,ref missing); dFile.Close(ref missing, ref missing, ref missing); }
抽出画像(テキストボックス内の画像上では動作しません):
private Word.Application wWordApp; private int m_i; private object missing = Type.Missing; private object filename = @"C:\temp\questionpaper.docx"; private object readOnly = true; private void CopyFromClipbordInlineShape(String imageIndex) { Word.InlineShape inlineShape = wWordApp.ActiveDocument.InlineShapes[m_i]; inlineShape.Select(); wWordApp.Selection.Copy(); Computer computer = new Computer(); if (computer.Clipboard.GetDataObject() != null) { System.Windows.Forms.IDataObject data = computer.Clipboard.GetDataObject(); if (data.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap)) { Image image = (Image)data.GetData(System.Windows.Forms.DataFormats.Bitmap, true); image.Save("C:\\temp\\DoCremoveImage" + imageIndex + ".png", System.Drawing.Imaging.ImageFormat.Png); } } } private void button1_Click(object sender, EventArgs e) { wWordApp = new Word.Application(); wWordApp.Documents.Open(ref filename, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); try { for (int i = 1; i <= wWordApp.ActiveDocument.InlineShapes.Count; i++) { m_i = i; CopyFromClipbordInlineShape(Convert.ToString(i)); } } finally { object save = false; wWordApp.Quit(ref save, ref missing, ref missing); wWordApp = null; } }
ワードファイル(ワーキング)から
抽出テキスト方法2
- 解凍ワードファイル(.docxの) - >コピーメディア(画像)フォルダ、どこか店 - > XMLファイルを解析 - >テキストを格納デシベル
に任意の提案/ヘルプはいただければ幸いです:D
ワードファイルのプレビュー: (バックアップリンク:http://i.stack.imgur.com/YF1Ap.png) - のOpenXML SDK
あなたは**急いで** .NET 4にアップグレードし、最適化されたinteropコードを使用する必要があります! 'wWordApp.Documents.Open(ref sFilename、ref missing、ref readOnly、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref missing、ref紛失、欠落) '' wWordApp.Documents.Open(ref sFilename) 'になってしまいました - ' ref missing'はもうありません! –
頭がおかげでありがとう、私は.net 4 asapにアップグレードします。 – DarkPP