Criar arquivo do OneNote em C# 2

Aspose.Note para .NET é uma API de manipulação de documentos do OneNote rica em recursos que permite criar, ler e converter documentos do OneNote programaticamente usando C# ou VB.NET. Em um artigo anterior, abordamos como usar o Aspose.Note para .NET para converter, ler e analisar documentos do OneNote. Hoje, veremos como criar documentos do OneNote do zero usando C#.

O MS OneNote oferece uma maneira de organizar e gerenciar as informações na forma de notas digitais (.ONE). As páginas nos documentos do OneNote são usadas para conter o conteúdo definido pelo usuário que pode consistir em texto, tabelas, imagens, listas etc. Neste artigo, abordaremos todos os aspectos básicos da criação de páginas e seu conteúdo em documentos do OneNote .

Criar documento do OneNote (.ONE) usando C#

Vamos começar criando um documento vazio do OneNote com apenas um título de página. A seguir estão as etapas para criar o documento do OneNote com uma página vazia e salvá-lo como arquivo .one.

  • Crie uma instância da classe Document.
  • Crie uma nova página inicializando o objeto Page com o objeto da classe Document.
  • Defina o título da página usando a propriedade Page.Title.
  • Chame o método Document.AppendChild() e passe o objeto Page.
  • Por fim, salve o documento do OneNote usando o método Document.Save().

O exemplo de código a seguir mostra como criar um documento vazio do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Crie um objeto da classe Document
Document doc = new Aspose.Note.Document();
// Inicializar objeto de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Estilo padrão para todo o texto no documento.
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
// Definir propriedades do título da página
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 }
};
// Anexar nó de página no documento
doc.AppendChildLast(page);

dataDir = dataDir + "CreateDocWithPageTitle_out.one";
// Salvar documento do OneNote
doc.Save(dataDir);

Adicionar páginas ao documento do OneNote usando C#

Nesta seção, daremos um passo à frente e adicionaremos texto à página no documento do OneNote. Uma página no documento do OneNote pode ser a página principal ou uma subpágina. Por exemplo, você está criando um relatório anual que contém ainda as subseções dos relatórios mensais. Nesse caso, você pode colocar a descrição do relatório na página principal e os relatórios mensais nas subpáginas. No documento do OneNote, isso pode ser tratado usando os níveis de página.

A seguir estão as etapas para criar páginas no documento do OneNote.

  • Crie um novo documento do OneNote usando a classe Document.
  • Crie novas páginas para o documento e defina seu nível usando a classe Page.
  • Use as classes Outline e OutlineElement para criar notas.
  • Adicione notas às páginas usando o método Page.AppendChildLast().
  • Adicione páginas ao documento do OneNote usando o método Document.AppendChildLast().
  • Salve o documento usando o método Document.Save().

O exemplo de código a seguir mostra como criar e adicionar páginas a documentos do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Pages();

// Crie um objeto da classe Document
Document doc = new Document();
// Inicialize o objeto da classe Page e defina seu nível
Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
// Inicialize o objeto da classe Page e defina seu nível
Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
// Inicialize o objeto da classe Page e defina seu nível
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";
// Salvar documento do OneNote
doc.Save(dataDir);

Inserir imagens no documento do OneNote usando C#

Você também pode inserir imagens nas páginas do OneNote. A seguir estão as etapas para criar um documento do OneNote com imagens.

  • Crie uma instância da classe Document para um novo documento do OneNote.
  • Use a classe Page para criar uma nova página para o documento.
  • Crie uma nova instância da classe Image e inicialize-a com o caminho da imagem.
  • Adicione uma imagem à página usando o método OutlineElement.AppendChildLast().
  • Adicione a página ao documento usando o método Document.AppendChildLast().
  • Salve o documento do OneNote.

O exemplo de código a seguir mostra como inserir imagens no documento do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Images();

// Crie um objeto da classe Document
Document doc = new Document();
// Inicializar objeto de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Inicialize o objeto da classe Outline e defina as propriedades de deslocamento
Outline outline = new Outline(doc) { VerticalOffset = 0, HorizontalOffset = 0 };
// Inicializar o objeto da classe OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Carregue uma imagem pelo caminho do arquivo.
Aspose.Note.Image image = new Aspose.Note.Image(doc, dataDir + "image.jpg");
// Definir alinhamento de imagem
image.Alignment = HorizontalAlignment.Right;
// Adicionar imagem
outlineElem.AppendChildLast(image);
// Adicionar elementos de contorno
outline.AppendChildLast(outlineElem);
// Adicionar nó de estrutura de tópicos
page.AppendChildLast(outline);
// Adicionar nó de página
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// Salvar documento do OneNote
doc.Save(dataDir);

Adicionar tabelas ao documento do OneNote usando C#

As tabelas são uma ótima maneira de organizar e resumir os dados na forma de linhas e colunas. Juntamente com a organização eficiente, as tabelas permitem localizar os dados desejados rapidamente. Os documentos do OneNote também oferecem suporte a tabelas. A seguir estão as etapas para adicionar tabelas em documentos do OneNote.

  • Crie um novo documento do OneNote usando a classe Document.
  • Crie uma nova página usando a classe Page.
  • Adicione uma nova linha de tabela e células de tabela usando as classes TableRow e TableCell, respectivamente.
  • Insira elementos nas células da tabela usando o método TableCell.AppendChildLast.
  • Adicione células à linha da tabela usando o método TableRow.AppendChildLast().
  • Crie uma instância da classe Table e adicione a linha da tabela a ela.
  • Adicione a tabela à página usando as classes OutlineElement e Outline.
  • Adicione a página ao documento e salve o documento usando o método Document.Save().

O exemplo de código a seguir mostra como adicionar uma tabela ao documento do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Tables();

// Crie um objeto da classe Document
Document doc = new Document();
// Inicializar objeto de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Inicialize o objeto da classe TableRow
TableRow row1 = new TableRow(doc);
// Inicializar objetos da classe TableCell
TableCell cell11 = new TableCell(doc);
TableCell cell12 = new TableCell(doc);
TableCell cell13 = new TableCell(doc);

// Anexar elementos de contorno na célula da tabela
cell11.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
cell12.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
cell13.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
// Células da tabela para linhas
row1.AppendChildLast(cell11);
row1.AppendChildLast(cell12);
row1.AppendChildLast(cell13);

// Inicialize o objeto da classe TableRow
TableRow row2 = new TableRow(doc);
// inicializar objetos da classe TableCell
TableCell cell21 = new TableCell(doc);
TableCell cell22 = new TableCell(doc);
TableCell cell23 = new TableCell(doc);

// Anexar elementos de contorno na célula da tabela
cell21.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
cell22.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
cell23.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));

// Anexar células da tabela às linhas
row2.AppendChildLast(cell21);
row2.AppendChildLast(cell22);
row2.AppendChildLast(cell23);

// Inicialize o objeto da classe Table e defina as larguras das colunas
Table table = new Table(doc)
{
    IsBordersVisible = true,
    Columns = { new TableColumn { Width = 200 }, new TableColumn { Width = 200 }, new TableColumn { Width = 200 } }
};
// Anexar linhas da tabela à tabela
table.AppendChildLast(row1);
table.AppendChildLast(row2);

// Inicializar objeto de contorno
Outline outline = new Outline(doc);
// Inicializar o objeto OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Adicionar tabela ao nó do elemento de contorno
outlineElem.AppendChildLast(table);
// Adicionar elemento de contorno ao contorno
outline.AppendChildLast(outlineElem);
// Adicionar contorno ao nó da página
page.AppendChildLast(outline);
// Adicionar página ao nó do documento
doc.AppendChildLast(page);
dataDir = dataDir + "InsertTable_out.one";
doc.Save(dataDir);

Inserir marcas no documento do OneNote usando C#

As marcas são usadas para categorizar ou priorizar as anotações em documentos do OneNote. Você pode aplicar tags ao texto ou parágrafo para localizar ou filtrar rapidamente as notas relacionadas. A seguir estão as etapas para criar e adicionar marcas em documentos do OneNote.

  • Crie uma instância da classe Document.
  • Crie uma nova página usando a classe Page.
  • Inicialize os objetos Outline e OutlineElement.
  • Crie um novo objeto RichText e defina seu texto e outras propriedades.
  • Adicione uma tag ao texto usando o método RichText.Tags.Add().
  • Anexar texto à página.
  • Adicione página ao documento do OneNote e salve-o.

O exemplo de código a seguir mostra como adicionar marcas ao texto em documentos do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Tags();

// Crie um objeto da classe Document
Document doc = new Document();
// Inicializar objeto de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Inicializar o objeto da classe Outline
Outline outline = new Outline(doc);
// Inicializar o objeto da classe 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,
});

// Adicionar nó de texto
outlineElem.AppendChildLast(text);
// Adicionar nó de elemento de contorno
outline.AppendChildLast(outlineElem);
// Adicionar nó de contorno
page.AppendChildLast(outline);
// Adicionar nó de página
doc.AppendChildLast(page);

dataDir = dataDir + "AddTextNodeWithTag_out.one";
// Salvar documento do OneNote
doc.Save(dataDir);

Por último, mas não menos importante, vamos ver como inserir hiperlinks para os documentos do OneNote usando as etapas a seguir.

  • Crie uma instância da classe Document.
  • Crie uma nova página para o documento usando a classe Page.
  • Defina o estilo de texto do hiperlink e sua URL usando a classe TextStyle.
  • Crie uma instância da classe RichText, adicione seu texto e inicialize-o com o estilo de texto criado anteriormente para o hiperlink.
  • Adicione texto à página do documento do OneNote.
  • Salve o documento como arquivo .one.

O exemplo de código a seguir mostra como inserir um hiperlink para o documento do OneNote usando C#.

// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Tasks();

// Crie um objeto da classe Document
Document doc = new Document();
// Inicializar objeto de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Inicializar o objeto da classe 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);
// Adicionar elementos de contorno
outline.AppendChildLast(outlineElem);
// Adicionar nó de estrutura de tópicos
page.AppendChildLast(outline);
// Adicionar nó de página
doc.AppendChildLast(page);

dataDir = dataDir + "AddHyperlink_out.one";
// Salvar documento do OneNote
doc.Save(dataDir);

Conclusão

Neste artigo, você aprendeu como criar documentos do OneNote (.ONE) do zero usando C#. Além disso, o artigo também abordou como inserir páginas, imagens, tabelas, marcas e hiperlinks para os documentos do OneNote programaticamente. Você pode explorar outros recursos interessantes do Aspose.Note para .NET usando a documentação.

Artigos relacionados