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

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

Сообщение Anonymous »

Таблица содержания слов (TOC) не обновляет даже даже с и dirty = true В поле не будет обновлять TOC на первом открытии после включения редактирования. Даже с and dirty = true на поле, Word не будет обновлять TOC на первом открытии после включения редактирования. • Это функция безопасности и дизайна Word, и она не может быть обойдена настройками кода или документа. < /P>

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

< /code>
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();
}

private Paragraph _AddTableOfContentFormatting()
< /code>
{ // 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 // Add TOC field with switches return new Paragraph( new ParagraphProperties( new ParagraphStyleId { Val = "TOCHeading" }, new Tabs( new TabStop { Val = TabStopValues.Right, Leader = TabStopLeaderCharValues.None, Position = 9000 } // Right-align page numbers without dots ) ), new Run( new FieldChar { FieldCharType = FieldCharValues.Begin, Dirty = true } // Mark as dirty ), 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 } ) ); }


< /code>
how to update table of content when i open word for first time.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создание документа Word (.docx) с использованием openxml в C#
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как перенести слово на предыдущее слово, если не подходит только последнее слово
    Anonymous » » в форуме Android
    0 Ответы
    135 Просмотры
    Последнее сообщение Anonymous
  • Преобразование файлов OpenXML SDK .docx в PDF
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Преобразование файлов OpenXML SDK .docx в PDF
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • OpenXML body.Elements() пуст при извлечении абзацев из DOCX в .NET 8
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

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