Создать файл OneNote в C# 2

Aspose.Note для .NET — это многофункциональный API для работы с документами OneNote, который позволяет программно создавать, читать и преобразовывать документы OneNote с помощью C# или VB.NET. В предыдущей статье мы рассказали, как использовать Aspose.Note для .NET для преобразования, чтения и анализа документов OneNote. Сегодня мы рассмотрим, как создавать документы OneNote с нуля с помощью C#.

MS OneNote предоставляет вам способ организации и управления информацией в виде цифровых заметок (.ONE). Страницы в документах OneNote используются для содержания определяемого пользователем содержимого, которое может состоять из текста, таблиц, изображений, списков и т. д. В этой статье мы рассмотрим все основные аспекты создания страниц и их содержимого в документах OneNote. .

Создайте документ OneNote (.ONE) с помощью C#

Начнем с создания пустого документа OneNote только с заголовком страницы. Ниже приведены шаги по созданию документа OneNote с пустой страницей и сохранению его в виде файла .one.

  • Создайте экземпляр класса Document.
  • Создайте новую страницу, инициализировав объект Page объектом класса Document.
  • Установите заголовок страницы, используя свойство Page.Title.
  • Вызовите метод Document.AppendChild() и передайте объект Page.
  • Наконец, сохраните документ OneNote с помощью метода Document.Save().

В следующем примере кода показано, как создать пустой документ OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Создайте объект класса Document
Document doc = new Aspose.Note.Document();
// Инициализировать объект класса Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Стиль по умолчанию для всего текста в документе.
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
// Установить свойства заголовка страницы
page.Title = new Title(doc)
{
    TitleText = new RichText(doc) { Text = "Title text.", ParagraphStyle = textStyle },
    TitleDate = new RichText(doc) { Text = new DateTime(2011, 11, 11).ToString("D", CultureInfo.InvariantCulture), ParagraphStyle = textStyle },
    TitleTime = new RichText(doc) { Text = "12:34", ParagraphStyle = textStyle }
};
// Добавить узел страницы в документ
doc.AppendChildLast(page);

dataDir = dataDir + "CreateDocWithPageTitle_out.one";
// Сохранить документ OneNote
doc.Save(dataDir);

Добавление страниц в документ OneNote с помощью C#

В этом разделе мы сделаем еще один шаг вперед и добавим текст на страницу в документе OneNote. Страница в документе OneNote может быть главной или подстраницей. Например, вы создаете годовой отчет, который дополнительно содержит подразделы для ежемесячных отчетов. В таком случае вы можете разместить описание отчета на главной странице, а ежемесячные отчеты на подстраницах. В документе OneNote это можно сделать с помощью уровней страницы.

Ниже приведены шаги для создания страниц в документе OneNote.

  • Создайте новый документ OneNote, используя класс Document.
  • Создайте новые страницы для документа и установите их уровень с помощью класса Page.
  • Используйте классы Outline и OutlineElement для создания заметок.
  • Добавьте заметки на страницы с помощью метода Page.AppendChildLast().
  • Добавьте страницы в документ OneNote с помощью метода Document.AppendChildLast().
  • Сохраните документ с помощью метода Document.Save().

В следующем примере кода показано, как создавать и добавлять страницы в документы OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Pages();

// Создайте объект класса Document
Document doc = new Document();
// Инициализировать объект класса Page и установить его уровень
Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
// Инициализировать объект класса Page и установить его уровень
Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
// Инициализировать объект класса Page и установить его уровень
Aspose.Note.Page page3 = new Aspose.Note.Page(doc) { Level = 1 };

/*---------- Adding nodes to first Page ----------*/
Outline outline = new Outline(doc);
OutlineElement outlineElem = new OutlineElement(doc);
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
RichText text = new RichText(doc) { Text = "First page.", ParagraphStyle = textStyle };
outlineElem.AppendChildLast(text);
outline.AppendChildLast(outlineElem);
page1.AppendChildLast(outline);

/*---------- Adding nodes to second Page ----------*/
var outline2 = new Outline(doc);
var outlineElem2 = new OutlineElement(doc);
var textStyle2 = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
var text2 = new RichText(doc) { Text = "Second page.", ParagraphStyle = textStyle2 };
outlineElem2.AppendChildLast(text2);
outline2.AppendChildLast(outlineElem2);
page2.AppendChildLast(outline2);

/*---------- Adding nodes to third Page ----------*/
var outline3 = new Outline(doc);
var outlineElem3 = new OutlineElement(doc);
var textStyle3 = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
var text3 = new RichText(doc) { Text = "Third page.", ParagraphStyle = textStyle3 };
outlineElem3.AppendChildLast(text3);
outline3.AppendChildLast(outlineElem3);
page3.AppendChildLast(outline3);

/*---------- Add pages to the OneNote Document ----------*/
doc.AppendChildLast(page1);
doc.AppendChildLast(page2);
doc.AppendChildLast(page3);

dataDir = dataDir + "CreateDocWithRootAndSubPages_out.one";
// Сохранить документ OneNote
doc.Save(dataDir);

Вставка изображений в документ OneNote с помощью C#

Вы также можете вставлять изображения на страницы OneNote. Ниже приведены шаги для создания документа OneNote с изображениями.

  • Создайте экземпляр класса Document для нового документа OneNote.
  • Используйте класс Page, чтобы создать новую страницу для документа.
  • Создайте новый экземпляр класса Image и инициализируйте его путем к изображению.
  • Добавьте изображение на страницу с помощью метода OutlineElement.AppendChildLast().
  • Добавьте страницу в документ с помощью метода Document.AppendChildLast().
  • Сохраните документ OneNote.

В следующем примере кода показано, как вставлять изображения в документ OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Images();

// Создайте объект класса Document
Document doc = new Document();
// Инициализировать объект класса Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Инициализировать объект класса Outline и установить свойства смещения
Outline outline = new Outline(doc) { VerticalOffset = 0, HorizontalOffset = 0 };
// Инициализировать объект класса OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Загрузите изображение по пути к файлу.
Aspose.Note.Image image = new Aspose.Note.Image(doc, dataDir + "image.jpg");
// Установить выравнивание изображения
image.Alignment = HorizontalAlignment.Right;
// Добавить изображение
outlineElem.AppendChildLast(image);
// Добавьте элементы контура
outline.AppendChildLast(outlineElem);
// Добавить узел Outline
page.AppendChildLast(outline);
// Добавить узел страницы
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// Сохранить документ OneNote
doc.Save(dataDir);

Добавление таблиц в документ OneNote с помощью C#

Таблицы — прекрасный способ организации и обобщения данных в виде строк и столбцов. Наряду с эффективной организацией таблицы позволяют быстро находить нужные данные. Документы OneNote также поддерживают таблицы. Ниже приведены шаги по добавлению таблиц в документы OneNote.

  • Создайте новый документ OneNote, используя класс Document.
  • Создайте новую страницу, используя класс Page.
  • Добавьте новую строку таблицы и ячейки таблицы, используя классы TableRow и TableCell соответственно.
  • Вставка элементов в ячейки таблицы с помощью метода TableCell.AppendChildLast.
  • Добавьте ячейки в строку таблицы с помощью метода TableRow.AppendChildLast().
  • Создайте экземпляр класса Table и добавьте в него строку таблицы.
  • Добавьте таблицу на страницу с помощью классов OutlineElement и Outline.
  • Добавьте страницу в документ и сохраните документ с помощью метода Document.Save().

В следующем примере кода показано, как добавить таблицу в документ OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Tables();

// Создайте объект класса Document
Document doc = new Document();
// Инициализировать объект класса Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Инициализировать объект класса TableRow
TableRow row1 = new TableRow(doc);
// Инициализировать объекты класса TableCell
TableCell cell11 = new TableCell(doc);
TableCell cell12 = new TableCell(doc);
TableCell cell13 = new TableCell(doc);

// Добавление элементов схемы в ячейку таблицы
cell11.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
cell12.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
cell13.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
// Ячейки таблицы в строки
row1.AppendChildLast(cell11);
row1.AppendChildLast(cell12);
row1.AppendChildLast(cell13);

// Инициализировать объект класса TableRow
TableRow row2 = new TableRow(doc);
// инициализировать объекты класса TableCell
TableCell cell21 = new TableCell(doc);
TableCell cell22 = new TableCell(doc);
TableCell cell23 = new TableCell(doc);

// Добавление элементов схемы в ячейку таблицы
cell21.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
cell22.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
cell23.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));

// Добавлять ячейки таблицы к строкам
row2.AppendChildLast(cell21);
row2.AppendChildLast(cell22);
row2.AppendChildLast(cell23);

// Инициализировать объект класса Table и установить ширину столбцов
Table table = new Table(doc)
{
    IsBordersVisible = true,
    Columns = { new TableColumn { Width = 200 }, new TableColumn { Width = 200 }, new TableColumn { Width = 200 } }
};
// Добавить строки таблицы в таблицу
table.AppendChildLast(row1);
table.AppendChildLast(row2);

// Инициализировать объект Outline
Outline outline = new Outline(doc);
// Инициализировать объект OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Добавить таблицу к узлу элемента контура
outlineElem.AppendChildLast(table);
// Добавить элемент контура в контур
outline.AppendChildLast(outlineElem);
// Добавить схему к узлу страницы
page.AppendChildLast(outline);
// Добавить страницу в узел документа
doc.AppendChildLast(page);
dataDir = dataDir + "InsertTable_out.one";
doc.Save(dataDir);

Вставка тегов в документ OneNote с помощью C#

Теги используются для категоризации или определения приоритета заметок в документах OneNote. Вы можете применять теги к тексту или абзацу, чтобы быстро находить или фильтровать связанные заметки. Ниже приведены шаги по созданию и добавлению тегов в документы OneNote.

  • Создайте экземпляр класса Document.
  • Создайте новую страницу, используя класс Page.
  • Инициализируйте объекты Outline и OutlineElement.
  • Создайте новый объект RichText и задайте его текст и другие свойства.
  • Добавьте тег к тексту с помощью метода RichText.Tags.Add().
  • Добавьте текст на страницу.
  • Добавьте страницу в документ OneNote и сохраните ее.

В следующем примере кода показано, как добавлять теги к тексту в документах OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Tags();

// Создайте объект класса Document
Document doc = new Document();
// Инициализировать объект класса Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Инициализировать объект класса Outline
Outline outline = new Outline(doc);
// Инициализировать объект класса OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
RichText text = new RichText(doc) { Text = "OneNote text.", ParagraphStyle = textStyle };
text.Tags.Add(new NoteTag
{
    Icon = TagIcon.YellowStar,
});

// Добавить текстовый узел
outlineElem.AppendChildLast(text);
// Добавить узел элемента контура
outline.AppendChildLast(outlineElem);
// Добавить узел контура
page.AppendChildLast(outline);
// Добавить узел страницы
doc.AppendChildLast(page);

dataDir = dataDir + "AddTextNodeWithTag_out.one";
// Сохранить документ OneNote
doc.Save(dataDir);

И последнее, но не менее важное: давайте посмотрим, как вставлять гиперссылки в документы OneNote, используя следующие шаги.

  • Создайте экземпляр класса Document.
  • Создайте новую страницу для документа, используя класс Page.
  • Задайте стиль текста гиперссылки и ее URL-адреса с помощью класса TextStyle.
  • Создайте экземпляр класса RichText, добавьте его текст и инициализируйте его с помощью ранее созданного стиля текста для гиперссылки.
  • Добавьте текст на страницу документа OneNote.
  • Сохраните документ как файл .one.

В следующем примере кода показано, как вставить гиперссылку в документ OneNote с помощью C#.

// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Tasks();

// Создайте объект класса Document
Document doc = new Document();
// Инициализировать объект класса Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Инициализировать объект класса Title
Title title = new Title(doc);

ParagraphStyle defaultTextStyle = new ParagraphStyle
{
    FontName = "Arial",
    FontSize = 10,
    FontColor = SystemColors.WindowText
};
RichText titleText = new RichText(doc)
{
    Text = "Title!",
    ParagraphStyle = defaultTextStyle
};
Outline outline = new Outline(doc)
{
    MaxWidth = 200,
    MaxHeight = 200,
    VerticalOffset = 100,
    HorizontalOffset = 100
};
OutlineElement outlineElem = new OutlineElement(doc);
TextStyle textStyleRed = new TextStyle
{
    FontColor = Color.Red,
    FontName = "Arial",
    FontSize = 10,
    RunIndex = 8//this style will be applied to 0-7 characters.
};
TextStyle textStyleHyperlink = new TextStyle
{
    RunIndex = 17,//this style will be applied to 8-16 characters.
    IsHyperlink = true,
    HyperlinkAddress = "www.google.com"
};
RichText text = new RichText(doc)
{
    Text = "This is hyperlink. This text is not a hyperlink.",
    ParagraphStyle = defaultTextStyle,
    Styles = { textStyleRed, textStyleHyperlink }
};

title.TitleText = titleText;
page.Title = title;
outlineElem.AppendChildLast(text);
// Добавьте элементы контура
outline.AppendChildLast(outlineElem);
// Добавить узел Outline
page.AppendChildLast(outline);
// Добавить узел страницы
doc.AppendChildLast(page);

dataDir = dataDir + "AddHyperlink_out.one";
// Сохранить документ OneNote
doc.Save(dataDir);

Вывод

В этой статье вы узнали, как создавать документы OneNote (.ONE) с нуля с помощью C#. Кроме того, в статье также рассказывается, как программно вставлять страницы, изображения, таблицы, теги и гиперссылки в документы OneNote. Вы можете изучить другие интересные функции Aspose.Note для .NET, используя документацию.

Статьи по Теме