5

生徒に Microsoft Word の課題を ColdFusion 10 サーバーに提出してもらいます。ヘッダーにページ番号がない、タイトル ページに学校名がない、タイトル ページに学校名がないなどのよくある間違いをチェックするエラー チェッカーを書きたいと思います。多くの APA ルールを指定します。 . 例: "Running head:" という語句は、1 ページ目のヘッダー セクションにある必要がありますが、残りのページにはありません。各ルールに点数を割り当てます。

理想的には、このエラー チェッカーは、課題を提出したときに実行され、すぐに通知されます。それは使用する必要があるかもしれません

parser.parseFromString(str, "text/xml");

しかし、別の方法として、エラーをチェックするために実行するプログラムを作成できれば、採点を自動化するのに役立ちます。つまり、Microsoft Access または Visual Studio を使用します。しかし、私はそれをしたくありません。なぜなら、サーバーに Visual Studio をインストールする必要があり、それが実現可能になるとは思えないからです。

最後のオプションは、すべての論文をサーバーからダウンロードしてローカルでプログラムを実行することです。これは、すべてを手動で採点するよりも 1 段階優れています。

4

3 に答える 3

2

すでに答えが見つかっていることは知っていますが、Word文書からデータを抽出するためにApachePOIを投入すると思いました。私はあなたがそのようにページのヘッダーを得ることができることを知っています

fis = createObject("java","java.io.FileInputStream").init(ExpandPath('./mydoc.docx'));
document = createObject("java","org.apache.poi.xwpf.usermodel.XWPFDocument").init(fis);
fis.close();

policy = document.getHeaderFooterPolicy();
firstHeader = policy.getFirstPageHeader().getText();
defaultHeader = policy.getDefaultHeader().getText();

これはリクエストのヘッダー部分にすぎないことを私は知っています。ドキュメントを見ても、偶数ページと奇数ページのヘッダーを取得する方法があります。

APACHE POI

于 2013-02-06T22:41:27.137 に答える
2

数年前に VBA を使用してこれを行いました。この記事を参照してください。ドキュメントの各段落を解析する抜粋を次に示します。

Public Sub ParseLines()
    Dim singleLine As Paragraph
    Dim lineText As String

    For Each singleLine In ActiveDocument.Paragraphs
        lineText = singleLine.Range.Text

        '// parse the text here...

    Next singleLine
End Sub
于 2013-02-01T21:32:15.563 に答える
1

試してみる:

http://docxextractor.riaforge.org/

すべてのクリアと一部のフォーマットを抽出します

免責事項:私が書きました

于 2013-02-01T23:50:36.533 に答える