#c# #ms-word #ms-office
#c# #ms-word #ms-office
Вопрос:
Кто-нибудь, пожалуйста, скажите мне, есть ли какой-либо способ определить отступы каждой строки и абзаца в документах MS word. Я новичок в программировании Office, и я намерен написать приложение, которое преобразует документы в текст, сохраняя при этом свои стили с намерениями преобразования в пробелы.
Комментарии:
1. Привет… вы получили правильный ответ?
Ответ №1:
Взгляните на WordML, это XML-файл, который содержит документ doc. Создать и отредактировать его довольно просто. 🙂
http://msdn.microsoft.com/en-us/library/aa212812(v=office.11).aspx
Комментарии:
1. На самом деле, мне нужны документы pars, которые были созданы Word, и, как вы знаете, word генерирует настолько сложный XML-файл. Существует ли какой-либо SDK, API или что-то подобное для простого управления документами word.
2. Может быть, вы можете заглянуть в Microsoft. Библиотека взаимодействия.
Ответ №2:
XML в файлах .docx сложный, но вы можете игнорировать большую его часть (особенно если читаете его через библиотеку C #). Распакуйте docx и загляните в word/document.xml. Отступ указан в свойствах абзаца (w: pPr). например, это xml для абзаца с отступом в 540 с чем-то (примерно в ширину одной вкладки, не уверен, какие единицы измерения):
<w:p w:rsidR="009932EC" w:rsidRDefault="009932EC" w:rsidP="000A0336">
<w:pPr>
<w:ind w:left="540" />
</w:pPr>
<w:r>
<w:t>Indented.</w:t>
</w:r>
</w:p>
Документация здесь:
http://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.indentation.aspx