Я нашел его на странице разработчика: https://developer.ibm.com/integration/blog/2018/12/13/app-connect-enterprise-v11-migration-approach/ [111 ] https://www.ibm.com/support/knowledgecenter/en/SSTTDS_11.0.0/com.ibm.etools.mft.doc/bh23410_.htm
Форматы файлов Office 2007 открыты, и хорошо зарегистрировал . Примерно говоря, все новые форматы файлов, заканчивающиеся в "x", являются сжатыми XML-документами zip. Например:
Для открытия Word 2007 XML file Create временная папка, в которой можно хранить файл и его части.
Сохраняют документ Word 2007, содержа текст, изображения и другие элементы, как .docx файл.
Добавляют .zip расширение до конца имени файла.
Дважды щелкают по файлу. Это откроется в приложении ZIP. Вы видите части, которые включают файл.
Извлечение части к папке, которую Вы создали ранее.
другие форматы файлов примерно подобны. Я не знаю ни о каких библиотеках с открытым исходным кодом для взаимодействия с ними пока еще - но в зависимости от Ваших строгих требований, не выглядит слишком трудным прочитать и записать простые документы. Конечно, это должно быть намного легче, чем с более старыми форматами.
, Если необходимо считать более старые форматы, OpenOffice имеет API и может считать и записать Office 2003 и более старые документы с более или менее успехом.
Можно, вероятно, проверить код на Sphider. Они документы и pdfs, таким образом, я уверен, что они могут считать их. Мог бы также привести Вас в правильном направлении для других форматов Office.
Я успешно использовал SDK Формата OpenXML в проекте изменить электронную таблицу Excel через код. Это потребовало бы.NET, и я не уверен в том, как хорошо она работала бы под Моно.
Модуль python docx может генерировать форматированные файлы Microsoft office docx из чистого Python. Из коробки он делает заголовки, параграфы, таблицы и пули, но модуль makeelement() может быть расширен, чтобы делать произвольные элементы, такие как изображения.
from docx import *
document = newdocument()
# This location is where most document content lives
docbody = document.xpath('/w:document/w:body',namespaces=wordnamespaces)[0]
# Append two headings
docbody.append(heading('Heading',1) )
docbody.append(heading('Subheading',2))
docbody.append(paragraph('Some text')