Crea un file OneNote in C# 2

Aspose.Note per .NET è un’API di manipolazione dei documenti di OneNote ricca di funzionalità che consente di creare, leggere e convertire i documenti di OneNote a livello di codice utilizzando C# o VB.NET. In un articolo precedente, abbiamo spiegato come usare Aspose.Note per .NET per convertire, leggere e analizzare i documenti di OneNote. Oggi vedremo come creare documenti OneNote da zero utilizzando C#.

MS OneNote fornisce un modo per organizzare e gestire le informazioni sotto forma di note digitali (.ONE). Le pagine nei documenti di OneNote vengono utilizzate per contenere il contenuto definito dall’utente che può essere costituito da testo, tabelle, immagini, elenchi e così via. In questo articolo tratteremo tutti gli aspetti di base della creazione di pagine e il relativo contenuto nei documenti di OneNote .

Crea un documento OneNote (.ONE) usando C#

Iniziamo creando un documento OneNote vuoto con solo un titolo di pagina. Di seguito sono riportati i passaggi per creare il documento OneNote con una pagina vuota e salvarlo come file .one.

  • Crea un’istanza della classe Document.
  • Crea una nuova pagina inizializzando l’oggetto Page con l’oggetto della classe Document.
  • Imposta il titolo della pagina utilizzando la proprietà Page.Title.
  • Chiama il metodo Document.AppendChild() e passa l’oggetto Page.
  • Infine, salva il documento di OneNote usando il metodo Document.Save().

Nell’esempio di codice seguente viene illustrato come creare un documento OneNote vuoto usando C#.

// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Crea un oggetto della classe Document
Document doc = new Aspose.Note.Document();
// Inizializza l'oggetto classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Stile predefinito per tutto il testo nel documento.
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
// Imposta le proprietà del titolo della pagina
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 }
};
// Aggiungi il nodo Pagina nel documento
doc.AppendChildLast(page);

dataDir = dataDir + "CreateDocWithPageTitle_out.one";
// Salva il documento di OneNote
doc.Save(dataDir);

Aggiungi pagine al documento di OneNote usando C#

In questa sezione, faremo un passo avanti e aggiungeremo del testo alla pagina nel documento di OneNote. Una pagina nel documento di OneNote può essere la pagina principale o una pagina secondaria. Ad esempio, stai creando un rapporto annuale che contiene ulteriormente le sottosezioni per i rapporti mensili. In tal caso, è possibile inserire la descrizione del rapporto nella pagina principale e i rapporti mensili nelle sottopagine. Nel documento OneNote, questo può essere gestito utilizzando i livelli di pagina.

Di seguito sono riportati i passaggi per creare pagine nel documento di OneNote.

  • Crea un nuovo documento OneNote usando la classe Document.
  • Crea nuove pagine per il documento e impostane il livello usando la classe Page.
  • Usa le classi Outline e OutlineElement per creare note.
  • Aggiungi note alle pagine utilizzando il metodo Page.AppendChildLast().
  • Aggiungi pagine al documento OneNote usando il metodo Document.AppendChildLast().
  • Salva il documento usando il metodo Document.Save().

L’esempio di codice seguente mostra come creare e aggiungere pagine ai documenti di OneNote usando C#.

// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Pages();

// Crea un oggetto della classe Document
Document doc = new Document();
// Inizializza l'oggetto classe Page e impostane il livello
Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
// Inizializza l'oggetto classe Page e impostane il livello
Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
// Inizializza l'oggetto classe Page e impostane il livello
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";
// Salva il documento di OneNote
doc.Save(dataDir);

Inserisci immagini nel documento OneNote usando C#

Puoi anche inserire immagini nelle pagine di OneNote. Di seguito sono riportati i passaggi per creare un documento OneNote con immagini.

  • Crea un’istanza della classe Document per un nuovo documento di OneNote.
  • Usa la classe Page per creare una nuova pagina per il documento.
  • Crea una nuova istanza della classe Image e inizializzala con il percorso dell’immagine.
  • Aggiungi un’immagine alla pagina usando il metodo OutlineElement.AppendChildLast().
  • Aggiungi una pagina al documento utilizzando il metodo Document.AppendChildLast().
  • Salva il documento di OneNote.

L’esempio di codice seguente mostra come inserire immagini nel documento di OneNote usando C#.

// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Images();

// Crea un oggetto della classe Document
Document doc = new Document();
// Inizializza l'oggetto classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Inizializza l'oggetto classe Outline e imposta le proprietà di offset
Outline outline = new Outline(doc) { VerticalOffset = 0, HorizontalOffset = 0 };
// Inizializza l'oggetto classe OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Carica un'immagine dal percorso del file.
Aspose.Note.Image image = new Aspose.Note.Image(doc, dataDir + "image.jpg");
// Imposta l'allineamento dell'immagine
image.Alignment = HorizontalAlignment.Right;
// Aggiungi immagine
outlineElem.AppendChildLast(image);
// Aggiungi elementi di contorno
outline.AppendChildLast(outlineElem);
// Aggiungi nodo Struttura
page.AppendChildLast(outline);
// Aggiungi il nodo Pagina
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// Salva il documento di OneNote
doc.Save(dataDir);

Aggiungi tabelle al documento di OneNote usando C#

Le tabelle sono un ottimo modo per organizzare e riassumere i dati sotto forma di righe e colonne. Oltre a un’organizzazione efficiente, le tabelle consentono di individuare rapidamente i dati desiderati. I documenti di OneNote supportano anche le tabelle. Di seguito sono riportati i passaggi per aggiungere tabelle nei documenti di OneNote.

  • Crea un nuovo documento OneNote usando la classe Document.
  • Crea una nuova pagina usando la classe Page.
  • Aggiungi una nuova riga di tabella e celle di tabella usando rispettivamente le classi TableRow e TableCell.
  • Inserisci elementi nelle celle della tabella usando il metodo TableCell.AppendChildLast.
  • Aggiungi celle alla riga della tabella usando il metodo TableRow.AppendChildLast().
  • Crea un’istanza della classe Table e aggiungi una riga della tabella ad essa.
  • Aggiungi la tabella alla pagina usando le classi OutlineElement e Outline.
  • Aggiungi una pagina al documento e salva il documento usando il metodo Document.Save().

Nell’esempio di codice seguente viene illustrato come aggiungere una tabella al documento di OneNote usando C#.

// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Tables();

// Crea un oggetto della classe Document
Document doc = new Document();
// Inizializza l'oggetto classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Inizializza l'oggetto classe TableRow
TableRow row1 = new TableRow(doc);
// Inizializza gli oggetti della classe TableCell
TableCell cell11 = new TableCell(doc);
TableCell cell12 = new TableCell(doc);
TableCell cell13 = new TableCell(doc);

// Aggiungi elementi di struttura nella cella della tabella
cell11.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
cell12.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
cell13.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
// Da celle di tabella a righe
row1.AppendChildLast(cell11);
row1.AppendChildLast(cell12);
row1.AppendChildLast(cell13);

// Inizializza l'oggetto classe TableRow
TableRow row2 = new TableRow(doc);
// inizializzare gli oggetti della classe TableCell
TableCell cell21 = new TableCell(doc);
TableCell cell22 = new TableCell(doc);
TableCell cell23 = new TableCell(doc);

// Aggiungi elementi di struttura nella cella della tabella
cell21.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
cell22.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
cell23.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));

// Aggiungi le celle della tabella alle righe
row2.AppendChildLast(cell21);
row2.AppendChildLast(cell22);
row2.AppendChildLast(cell23);

// Inizializza l'oggetto classe Table e imposta le larghezze delle colonne
Table table = new Table(doc)
{
    IsBordersVisible = true,
    Columns = { new TableColumn { Width = 200 }, new TableColumn { Width = 200 }, new TableColumn { Width = 200 } }
};
// Aggiungi le righe della tabella alla tabella
table.AppendChildLast(row1);
table.AppendChildLast(row2);

// Inizializza l'oggetto Contorno
Outline outline = new Outline(doc);
// Inizializza l'oggetto OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Aggiungi tabella al nodo dell'elemento struttura
outlineElem.AppendChildLast(table);
// Aggiungi un elemento di contorno al contorno
outline.AppendChildLast(outlineElem);
// Aggiungi struttura al nodo della pagina
page.AppendChildLast(outline);
// Aggiungi la pagina al nodo del documento
doc.AppendChildLast(page);
dataDir = dataDir + "InsertTable_out.one";
doc.Save(dataDir);

Inserisci i tag nel documento di OneNote usando C#

I tag vengono utilizzati per classificare o assegnare priorità alle note nei documenti di OneNote. Puoi applicare tag al testo o al paragrafo per trovare o filtrare rapidamente le note correlate. Di seguito sono riportati i passaggi per creare e aggiungere tag nei documenti di OneNote.

  • Crea un’istanza della classe Document.
  • Crea una nuova pagina usando la classe Page.
  • Inizializza oggetti Outline e OutlineElement.
  • Crea un nuovo oggetto RichText e impostane il testo e altre proprietà.
  • Aggiungi un tag al testo utilizzando il metodo RichText.Tags.Add().
  • Aggiungi testo alla pagina.
  • Aggiungi una pagina al documento di OneNote e salvalo.

L’esempio di codice seguente mostra come aggiungere tag al testo nei documenti di OneNote usando C#.

// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Tags();

// Crea un oggetto della classe Document
Document doc = new Document();
// Inizializza l'oggetto classe Page
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Inizializza l'oggetto classe Outline
Outline outline = new Outline(doc);
// Inizializza l'oggetto 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,
});

// Aggiungi nodo di testo
outlineElem.AppendChildLast(text);
// Aggiungi nodo elemento contorno
outline.AppendChildLast(outlineElem);
// Aggiungi nodo di struttura
page.AppendChildLast(outline);
// Aggiungi il nodo della pagina
doc.AppendChildLast(page);

dataDir = dataDir + "AddTextNodeWithTag_out.one";
// Salva il documento di OneNote
doc.Save(dataDir);

Ultimo ma non meno importante, vediamo come inserire collegamenti ipertestuali ai documenti di OneNote utilizzando i seguenti passaggi.

  • Crea un’istanza della classe Document.
  • Crea una nuova pagina per il documento usando la classe Page.
  • Imposta lo stile del testo del collegamento ipertestuale e il relativo URL utilizzando la classe TextStyle.
  • Crea un’istanza della classe RichText, aggiungi il suo testo e inizializzalo con lo stile di testo creato in precedenza per il collegamento ipertestuale.
  • Aggiungi testo alla pagina del documento di OneNote.
  • Salva il documento come file .one.

Nell’esempio di codice seguente viene illustrato come inserire un collegamento ipertestuale al documento di OneNote usando C#.

Conclusione

In questo articolo hai imparato come creare documenti OneNote (.ONE) da zero usando C#. Inoltre, l’articolo illustrava anche come inserire pagine, immagini, tabelle, tag e collegamenti ipertestuali ai documenti di OneNote a livello di codice. Puoi esplorare le altre interessanti funzionalità di Aspose.Note per .NET usando la documentazione.

articoli Correlati