Aspose.Note для .NET — это многофункциональный API для работы с документами OneNote, который позволяет программно создавать, читать и преобразовывать документы OneNote с помощью C# или VB.NET. В предыдущей статье мы рассказали, как использовать Aspose.Note для .NET для преобразования, чтения и анализа документов OneNote. Сегодня мы рассмотрим, как создавать документы OneNote с нуля с помощью C#.
MS OneNote предоставляет вам способ организации и управления информацией в виде цифровых заметок (.ONE). Страницы в документах OneNote используются для содержания определяемого пользователем содержимого, которое может состоять из текста, таблиц, изображений, списков и т. д. В этой статье мы рассмотрим все основные аспекты создания страниц и их содержимого в документах OneNote. .
- Создайте пустой документ OneNote
- Добавить страницы в документ OneNote
- Вставка изображений в документы OneNote
- Добавить таблицу в документы OneNote
- Добавление тегов в документы 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 с помощью C#
И последнее, но не менее важное: давайте посмотрим, как вставлять гиперссылки в документы 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, используя документацию.