代码之家  ›  专栏  ›  技术社区  ›  Alexsander Akers

用Ajax加载MS Word文件

  •  0
  • Alexsander Akers  · 技术社区  · 15 年前

    我想动态地将一些Microsoft Word文件中的文本加载到一个网页中。所以我可能会有一个链接到我写的文章,在鼠标上方,它会在工具提示中加载前几个句子。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Kristinn Örn Sigurðsson    15 年前

    只有当你有一个解析器。我认为新的格式是带有XML模式的zip存档。但旧的只是二进制的。

    外面有一些解析器。

    我知道wvware,但它似乎过时了。( http://wvware.sourceforge.net/ )

    这也许是值得一看的: http://poi.apache.org/hwpf/index.html

    是的,忘了提怎么做。-) 首先,您需要让JavaScript通过Ajax请求数据。服务器端必须负责解析并将文本返回到JavaScript。这将是一个痛苦的屁股。我没有做这件事,我从来没有尝试过我链接的解析器,所以我不确定他们是否适合你。图像、样式表等…不确定是否可以使用。

    至少,祝你好运。

        2
  •  0
  •   Allen Pike    15 年前

    出于安全原因,不可能使用简单的javascript直接将本地文件(如Word文档)加载到页面中。用户需要将文件上传到服务器,您需要在服务器上解析该文件,然后您可以使用Ajax将任何结果加载到页面中。

        3
  •  0
  •   Arkaaito    15 年前

    听起来,您的意思是将文件(例如文章)上载到服务器,以允许用户下载它们,并希望创建一个服务器端页面,该页面将解析文件并打印前几行(这样,Ajax方法可以调用它,该方法在悬停时显示预览)。

    要为此建议一个工具,我们需要知道这些是“旧”字格式(Office2003-扩展名是.doc)还是“新”字格式(Office2007-扩展名是.docx)。

    了解在服务器端使用什么来创建页面也是一件好事,因为不同的文档阅读工具支持不同的编程语言。如果您使用Java来读取.doc文件,您可以使用我们在工作地点使用的工具,即POI( http://poi.apache.org/ )如果你在使用其他东西,尝试搜索Google中的read-in,例如ruby read.docx。

    如果所有这些对您来说都是希腊语,并且您以前没有开发自定义服务器端Web代码的经验,那么这可能是不必要的痛苦,您应该考虑另一种选择(比如为每个常规页手动创建一个三行文本“预览”页,然后只显示它)。