Создание документа Word (.docx) с использованием openxml в C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Создание документа Word (.docx) с использованием openxml в C#

Сообщение Anonymous »

СОДЕРЖАНИЕ СОДЕРЖАНИЯ НЕ обновляется на First Open. Даже с и Dirty = true в поле Microsoft Word не будет обновлять TOC (таблица) автоматически, когда документ открывается впервые после включения редактирования. /> Что я попробовал < /strong> < /p>

Настройка UpdateFieldsonopen < /code> программно: < /li>
< /ul>

Код: Выделить всё

private void SetAutoUpdateFields(WordprocessingDocument doc)
{
if (doc.MainDocumentPart.DocumentSettingsPart == null)
{
doc.MainDocumentPart.AddNewPart();
}

if (doc.MainDocumentPart.DocumentSettingsPart.Settings == null)
{
doc.MainDocumentPart.DocumentSettingsPart.Settings = new Settings();
}

var settings = doc.MainDocumentPart.DocumentSettingsPart.Settings;

// Clear existing settings
settings.Elements().ToList().ForEach(x => x.Remove());

// Add field update setting
settings.AppendChild(new UpdateFieldsOnOpen() { Val = true });

settings.Save();
}
< /code>

 Добавление поля TOC с грязным флагом: < /li>
< /ul>
private Paragraph _AddTableOfContentFormatting()
{
// Add TOC field with switches
// \h - Creates hyperlinks for entries
// \z - Hides tab leader and page numbers in Web layout view
// \u - Uses the applied paragraph outline level
// \n - No tab leader
// \p - Removes page numbers

return new Paragraph(
new ParagraphProperties(
new ParagraphStyleId { Val = "TOCHeading" },
new Tabs(
new TabStop { Val = TabStopValues.Right, Leader = TabStopLeaderCharValues.None, Position = 9000 }
)
),
new Run(new FieldChar { FieldCharType = FieldCharValues.Begin, Dirty = true }),
new Run(new FieldCode("TOC \o \"1-3\" \h") { Space = SpaceProcessingModeValues.Preserve }),
new Run(new FieldChar { FieldCharType = FieldCharValues.Separate }),
new Run(new FieldChar { FieldCharType = FieldCharValues.End })
);
}
Вопрос [/b]: как я могу заставить содержание автоматически обновлять при первом открытии, даже после нажатия «Включение редактирования»? Есть ли известный обходной путь?


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-c-sharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Автоматически загружать панель задач во вновь созданном документе Word из существующего документа Word в проекте Word, д
    Anonymous » » в форуме C#
    0 Ответы
    155 Просмотры
    Последнее сообщение Anonymous
  • Автоматически загружать панель задач во вновь созданном документе Word из существующего документа Word в проекте Word, д
    Anonymous » » в форуме Jquery
    0 Ответы
    110 Просмотры
    Последнее сообщение Anonymous
  • Удалить пустую страницу из документа Word - OpenXML
    Anonymous » » в форуме C#
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Как изменить количество столбцов макета в части документа Word в OpenXML?
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Создание docx (слово) с использованием openxml в C#
    Anonymous » » в форуме C#
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»