Javascript 以编程方式读取Microsoft Word文档

Javascript 以编程方式读取Microsoft Word文档,javascript,coldfusion,ms-word,Javascript,Coldfusion,Ms Word,我让我的学生将他们的Microsoft Word作业提交到ColdFusion 10服务器。我想写一个错误检查器来检查常见的错误,比如页眉中没有页码,标题页上没有学校名称,标题页上有学校名称等等。我指定了很多APA规则。示例:短语“Running head:”必须在第1页的页眉部分,但不在论文的其余部分。我为每个规则指定一个分值 理想情况下,当他们提交作业并立即告诉他们时,将运行此错误检查器。这可能需要使用 parser.parseFromString(str, "text/xml"); 但作

我让我的学生将他们的Microsoft Word作业提交到ColdFusion 10服务器。我想写一个错误检查器来检查常见的错误,比如页眉中没有页码,标题页上没有学校名称,标题页上有学校名称等等。我指定了很多APA规则。示例:短语“Running head:”必须在第1页的页眉部分,但不在论文的其余部分。我为每个规则指定一个分值

理想情况下,当他们提交作业并立即告诉他们时,将运行此错误检查器。这可能需要使用

parser.parseFromString(str, "text/xml");
但作为替代,如果我可以编写一个程序来运行以检查错误,这将有助于自动评分。换句话说,使用Microsoft Access或Visual Studio。 但我不想这样做,因为那样我就必须在服务器上安装VisualStudio,我认为这是不可行的


最后一个选项是从服务器上下载所有论文,并在本地运行一个程序,这比手动评分要好一步。

几年前我使用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
试用:

我提取了所有的清晰和一些格式


免责声明:我写的

我知道你已经找到了答案,但我想我应该加入ApachePOI来从word文档中提取数据。我知道你可以像这样得到页眉

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();
我知道这只是你请求的标题部分。有一种方法可以通过查看文档来获取偶数和奇数页眉


这里的问题是什么?菲利普-不用担心!许多人,像我一样,来这里寻求帮助;然而,无论你走到哪里,都有一些人依靠判断生活!不要理会质问者这就是为什么你可以将评论标记为攻击性/非建设性的(只需将鼠标悬停在评论的左侧,你就会找到图标。)哈哈,这怎么会是“懒惰”呢?我称之为效率,我严肃地质疑那些解决这个问题的人的语言理解能力,以及他们是否适合做他们自己指定的工作。这个问题非常清楚,在进行密切表决时已经得到了答复,这一事实就证明了这一点。投票重新打开.POI对于Excel来说很好,但是Word软件包还不够成熟。从您描述的情况来看,使用VBA可能会更好(假设在您的情况下这是可行的)。VBA是应用程序的Visual Basic,对吗?我想这是在Microsoft Access中,我有。是的,你是对的。您可以在Microsoft Office产品(包括Access)中运行VBA。如果您愿意,也可以使用PHP,请参阅。此外,如果您正在寻找某人为您编写一些内容,那么有很多人可以通过Elance.com等网站为您完成。比如“使用页面设置对象的DifferentitFirstPageHeaderFooter属性指定不同的第一页。”这正是我想要的,因为“使用不同的首页”是很多学生忘记设置的事情之一。VBA可能是最好的方法,因为它将文档视为一个对象。好消息Phillip!祝你好运谢谢你,詹姆斯。我总是忘了先检查一下你的行李。我做了一个cfdump this.xmlPara,它似乎有点不完整。例如,我需要知道他们使用的字体。你认为有机会得到这样的信息吗?就像我没有看到关于页眉和页脚的信息一样。我已经有一段时间没有研究过它了,但我认为归结到docx没有一个干净的样式表机制。在制作coverter时,我只关注某些事情,因为docx做了很多事情,但没有完全转换成HTML。我将重新讨论这个问题(新学期)。看起来Ray在上有一篇博文:但是我不知道如何安装Tika等等。有潜力@阿博特姆夫