Créer un fichier OneNote en C# 2

Aspose.Note for .NET est une API de manipulation de documents OneNote riche en fonctionnalités qui vous permet de créer, lire et convertir des documents OneNote par programmation à l’aide de C# ou VB.NET. Dans un article précédent, nous avons expliqué comment utiliser Aspose.Note for .NET pour convertir, lire et analyser des documents OneNote. Aujourd’hui, nous allons découvrir comment créer des documents OneNote à partir de zéro à l’aide de C#.

MS OneNote vous permet d’organiser et de gérer les informations sous forme de notes numériques (.ONE). Les pages des documents OneNote sont utilisées pour contenir le contenu défini par l’utilisateur qui peut consister en du texte, des tableaux, des images, des listes, etc. Dans cet article, nous couvrirons tous les aspects de base de la création de pages et de leur contenu dans les documents OneNote. .

Créer un document OneNote (.ONE) à l’aide de C#

Commençons par créer un document OneNote vide avec un titre de page uniquement. Voici les étapes pour créer le document OneNote avec une page vide et l’enregistrer en tant que fichier .one.

  • Créez une instance de la classe Document.
  • Créez une nouvelle page en initialisant l’objet Page avec l’objet de la classe Document.
  • Définissez le titre de la page à l’aide de la propriété Page.Title.
  • Appelez la méthode Document.AppendChild() et transmettez l’objet Page.
  • Enfin, enregistrez le document OneNote à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment créer un document OneNote vide à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Créer un objet de la classe Document
Document doc = new Aspose.Note.Document();
// Initialiser l'objet de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Style par défaut pour tout le texte du document.
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
// Définir les propriétés du titre de la page
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 }
};
// Noeud d'ajout de page dans le document
doc.AppendChildLast(page);

dataDir = dataDir + "CreateDocWithPageTitle_out.one";
// Enregistrer le document OneNote
doc.Save(dataDir);

Ajouter des pages au document OneNote à l’aide de C#

Dans cette section, nous allons faire un pas en avant et ajouter du texte à la page dans le document OneNote. Une page du document OneNote peut être la page principale ou une sous-page. Par exemple, vous créez un rapport annuel qui contient en outre les sous-sections des rapports mensuels. Dans un tel cas, vous pouvez mettre la description du rapport sur la page principale et les rapports mensuels sur les sous-pages. Dans le document OneNote, cela peut être géré à l’aide des niveaux de page.

Voici les étapes pour créer des pages dans un document OneNote.

  • Créez un nouveau document OneNote à l’aide de la classe Document.
  • Créez de nouvelles pages pour le document et définissez leur niveau à l’aide de la classe Page.
  • Utilisez les classes Outline et OutlineElement pour créer des notes.
  • Ajoutez des notes aux pages à l’aide de la méthode Page.AppendChildLast().
  • Ajoutez des pages au document OneNote à l’aide de la méthode Document.AppendChildLast().
  • Enregistrez le document à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment créer et ajouter des pages aux documents OneNote à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Pages();

// Créer un objet de la classe Document
Document doc = new Document();
// Initialiser l'objet de classe Page et définir son niveau
Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
// Initialiser l'objet de classe Page et définir son niveau
Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
// Initialiser l'objet de classe Page et définir son niveau
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";
// Enregistrer le document OneNote
doc.Save(dataDir);

Insérer des images dans un document OneNote à l’aide de C#

Vous pouvez également insérer des images dans les pages OneNote. Voici les étapes pour créer un document OneNote contenant des images.

  • Créez une instance de la classe Document pour un nouveau document OneNote.
  • Utilisez la classe Page pour créer une nouvelle page pour le document.
  • Créez une nouvelle instance de la classe Image et initialisez-la avec le chemin de l’image.
  • Ajoutez une image à la page à l’aide de la méthode OutlineElement.AppendChildLast().
  • Ajoutez une page au document à l’aide de la méthode Document.AppendChildLast().
  • Enregistrez le document OneNote.

L’exemple de code suivant montre comment insérer des images dans le document OneNote à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Images();

// Créer un objet de la classe Document
Document doc = new Document();
// Initialiser l'objet de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Initialiser l'objet de classe Outline et définir les propriétés de décalage
Outline outline = new Outline(doc) { VerticalOffset = 0, HorizontalOffset = 0 };
// Initialiser l'objet de classe OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Charger une image par le chemin du fichier.
Aspose.Note.Image image = new Aspose.Note.Image(doc, dataDir + "image.jpg");
// Définir l'alignement de l'image
image.Alignment = HorizontalAlignment.Right;
// Ajouter une image
outlineElem.AppendChildLast(image);
// Ajouter des éléments de contour
outline.AppendChildLast(outlineElem);
// Ajouter un nœud Contour
page.AppendChildLast(outline);
// Noeud Ajouter une page
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// Enregistrer le document OneNote
doc.Save(dataDir);

Ajouter des tableaux au document OneNote à l’aide de C#

Les tableaux sont un bon moyen d’organiser et de résumer les données sous forme de lignes et de colonnes. Outre une organisation efficace, les tableaux vous permettent de localiser rapidement les données souhaitées. Les documents OneNote prennent également en charge les tableaux. Voici les étapes pour ajouter des tableaux dans des documents OneNote.

  • Créez un nouveau document OneNote à l’aide de la classe Document.
  • Créez une nouvelle page en utilisant la classe Page.
  • Ajoutez une nouvelle ligne de tableau et des cellules de tableau à l’aide des classes TableRow et TableCell respectivement.
  • Insérez des éléments dans les cellules du tableau à l’aide de la méthode TableCell.AppendChildLast.
  • Ajoutez des cellules à la ligne du tableau à l’aide de la méthode TableRow.AppendChildLast().
  • Créez une instance de la classe Table et ajoutez-y une ligne de table.
  • Ajoutez le tableau à la page à l’aide des classes OutlineElement et Outline.
  • Ajoutez une page au document et enregistrez le document à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment ajouter un tableau au document OneNote à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Tables();

// Créer un objet de la classe Document
Document doc = new Document();
// Initialiser l'objet de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Initialiser l'objet de classe TableRow
TableRow row1 = new TableRow(doc);
// Initialiser les objets de classe TableCell
TableCell cell11 = new TableCell(doc);
TableCell cell12 = new TableCell(doc);
TableCell cell13 = new TableCell(doc);

// Ajouter des éléments de plan dans la cellule du tableau
cell11.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
cell12.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
cell13.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
// Cellules du tableau en lignes
row1.AppendChildLast(cell11);
row1.AppendChildLast(cell12);
row1.AppendChildLast(cell13);

// Initialiser l'objet de classe TableRow
TableRow row2 = new TableRow(doc);
// initialiser les objets de classe TableCell
TableCell cell21 = new TableCell(doc);
TableCell cell22 = new TableCell(doc);
TableCell cell23 = new TableCell(doc);

// Ajouter des éléments de plan dans la cellule du tableau
cell21.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
cell22.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
cell23.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));

// Ajouter des cellules de tableau aux lignes
row2.AppendChildLast(cell21);
row2.AppendChildLast(cell22);
row2.AppendChildLast(cell23);

// Initialiser l'objet de classe Table et définir les largeurs de colonne
Table table = new Table(doc)
{
    IsBordersVisible = true,
    Columns = { new TableColumn { Width = 200 }, new TableColumn { Width = 200 }, new TableColumn { Width = 200 } }
};
// Ajouter des lignes de tableau au tableau
table.AppendChildLast(row1);
table.AppendChildLast(row2);

// Initialiser l'objet Outline
Outline outline = new Outline(doc);
// Initialiser l'objet OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Ajouter une table au nœud de l'élément de plan
outlineElem.AppendChildLast(table);
// Ajouter un élément de contour au contour
outline.AppendChildLast(outlineElem);
// Ajouter un contour au nœud de la page
page.AppendChildLast(outline);
// Ajouter une page au nœud du document
doc.AppendChildLast(page);
dataDir = dataDir + "InsertTable_out.one";
doc.Save(dataDir);

Insérer des balises dans un document OneNote à l’aide de C#

Les balises sont utilisées pour classer ou hiérarchiser les notes dans les documents OneNote. Vous pouvez appliquer des balises au texte ou au paragraphe pour trouver ou filtrer rapidement les notes associées. Voici les étapes pour créer et ajouter des balises dans les documents OneNote.

  • Créez une instance de la classe Document.
  • Créez une nouvelle page en utilisant la classe Page.
  • Initialisez les objets Outline et OutlineElement.
  • Créez un nouvel objet RichText et définissez son texte et d’autres propriétés.
  • Ajoutez une balise au texte à l’aide de la méthode RichText.Tags.Add().
  • Ajouter du texte à la page.
  • Ajoutez une page au document OneNote et enregistrez-la.

L’exemple de code suivant montre comment ajouter des balises au texte dans des documents OneNote à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Tags();

// Créer un objet de la classe Document
Document doc = new Document();
// Initialiser l'objet de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Initialiser l'objet de classe Outline
Outline outline = new Outline(doc);
// Initialiser l'objet de 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,
});

// Ajouter un nœud de texte
outlineElem.AppendChildLast(text);
// Ajouter un nœud d'élément de contour
outline.AppendChildLast(outlineElem);
// Ajouter un nœud de contour
page.AppendChildLast(outline);
// Ajouter un nœud de page
doc.AppendChildLast(page);

dataDir = dataDir + "AddTextNodeWithTag_out.one";
// Enregistrer le document OneNote
doc.Save(dataDir);

Dernier point mais non le moindre, voyons comment insérer des liens hypertexte vers les documents OneNote en suivant les étapes suivantes.

  • Créez une instance de la classe Document.
  • Créez une nouvelle page pour le document à l’aide de la classe Page.
  • Définissez le style de texte du lien hypertexte et son URL à l’aide de la classe TextStyle.
  • Créez une instance de la classe RichText, ajoutez son texte et initialisez-le avec le style de texte créé précédemment pour le lien hypertexte.
  • Ajoutez du texte à la page du document OneNote.
  • Enregistrez le document en tant que fichier .one.

L’exemple de code suivant montre comment insérer un lien hypertexte vers le document OneNote à l’aide de C#.

// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Tasks();

// Créer un objet de la classe Document
Document doc = new Document();
// Initialiser l'objet de classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Initialiser l'objet de 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);
// Ajouter des éléments de contour
outline.AppendChildLast(outlineElem);
// Ajouter un nœud Contour
page.AppendChildLast(outline);
// Noeud Ajouter une page
doc.AppendChildLast(page);

dataDir = dataDir + "AddHyperlink_out.one";
// Enregistrer le document OneNote
doc.Save(dataDir);

Conclusion

Dans cet article, vous avez appris à créer des documents OneNote (.ONE) à partir de zéro à l’aide de C#. En outre, l’article a également expliqué comment insérer des pages, des images, des tableaux, des balises et des liens hypertexte vers les documents OneNote par programmation. Vous pouvez explorer les autres fonctionnalités intéressantes d’Aspose.Note for .NET en utilisant la documentation.

Articles Liés