Библиотека / служба для извлечения информации для документов Microsoft Onenote
существует ли библиотека PHP/Ruby или веб-служба, которая позволяет программно извлекать информацию из документы Microsoft Onenote?
решение должно быть реализовано в веб-серверных приложений.
Я не ищу конкретных решений для windows. Также я не ищу решения, которые требуют от пользователей загрузки расширений приложений или устанавливаемого программного обеспечения.
3 ответов
вот кросс-платформенный однопунктовый парсер. (.один. >- html) это довольно примитивно, но это с открытым исходным кодом и может заставить вас идти
https://github.com/dropbox/onenote-parser в случае, если это поможет вам проанализировать формат файла.
Не стесняйтесь использовать его (Лицензия apache)
простое решение
вы можете легко написать свою собственную утилиту extractor в C# с помощью Microsoft.Офис.Взаимодействие.В OneNote API-интерфейс.
вы можете найти подробное руководство в эта статья msdn, тогда вы можете получить доступ к содержимому с кодом, подобным этому:
using System;
using System.Linq;
using System.Xml.Linq;
using Microsoft.Office.Interop.OneNote;
class Program
{
static void Main(string[] args)
{
var onenoteApp = new Application();
string notebookXml;
onenoteApp.GetHierarchy(null, HierarchyScope.hsPages, out notebookXml);
var doc = XDocument.Parse(notebookXml);
var ns = doc.Root.Name.Namespace;
var pageNode = doc.Descendants(ns + "Page").Where(n =>
n.Attribute("name").Value == "Test page").FirstOrDefault();
if (pageNode != null)
{
string pageXml;
onenoteApp.GetPageContent(pageNode.Attribute("ID").Value, out pageXml);
Console.WriteLine(XDocument.Parse(pageXml));
}
}
}
вы можете прочитать документацию api здесь, который также содержит несколько примеров.
низкоуровневый подход
В случае вашей среда не позволяет использовать эту официальную библиотеку, тогда я не знаю порта unix, но документ Office хранится в формате XML. Вам нужен только синтаксический анализатор XML для извлечения необходимой информации. Здесь у вас есть спецификация формата OneNote. (есть ссылка pdf на последнее обновление в верхней части) Затем вы можете использовать парсер по вашему выбору и создать свою маленькую утилиту. Мое предложение для Руби было бы libxml.
Я надеюсь, что это соответствует вашим по необходимости.
лучше всего научиться разбирать XML в PHP / Ruby и анализировать документы OneNote, чтобы выяснить, как они структурированы. Как только вы поймете .один файл, вы можете использовать PHP для извлечения из него необходимой информации. Проверка этой ссылка может помочь вам.