C#2でOneNoteファイルを作成する

Aspose.Note for .NETは、C#またはVB.NETを使用してプログラムでOneNoteドキュメントを作成、読み取り、変換できる、機能豊富なOneNoteドキュメント操作APIです。 前の記事では、Aspose.Note for .NETを使用してOneNoteドキュメントを変換、読み取り、解析する方法について説明しました。今日は、C#を使用してOneNoteドキュメントを最初から作成する方法を確認します。

MS OneNoteは、デジタルノート(.ONE)の形式で情報を整理および管理する方法を提供します。 OneNoteドキュメントのページは、テキスト、表、画像、リストなどで構成されるユーザー定義のコンテンツを含めるために使用されます。この記事では、OneNoteドキュメントでページとそのコンテンツを作成するためのすべての基本的な側面について説明します。 。

C#を使用してOneNote(.ONE)ドキュメントを作成する

ページタイトルのみを含む空のOneNoteドキュメントを作成することから始めましょう。以下は、空のページでOneNoteドキュメントを作成し、それを.oneファイルとして保存する手順です。

  • Documentクラスのインスタンスを作成します。
  • Documentクラスのオブジェクトを使用してPageオブジェクトを初期化することにより、新しいページを作成します。
  • Page.Titleプロパティを使用してページのタイトルを設定します。
  • Document.AppendChild()メソッドを呼び出し、Pageオブジェクトを渡します。
  • 最後に、Document.Save()メソッドを使用してOneNoteドキュメントを保存します。

次のコードサンプルは、C#を使用して空のOneNoteドキュメントを作成する方法を示しています。

// ドキュメントディレクトリへのパス。
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);

C#を使用してOneNoteドキュメントにページを追加する

このセクションでは、一歩先に進み、OneNoteドキュメントのページにテキストを追加します。 OneNoteドキュメントのページは、メインページまたはサブページのいずれかになります。たとえば、月次レポートのサブセクションをさらに含む年次レポートを作成しているとします。このような場合、レポートの説明をメインページに、月次レポートをサブページに配置できます。 OneNoteドキュメントでは、これはページレベルを使用して処理できます。

以下は、OneNoteドキュメントでページを作成する手順です。

  • Documentクラスを使用して新しいOneNoteドキュメントを作成します。
  • ドキュメントの新しいページを作成し、Pageクラスを使用してそれらのレベルを設定します。
  • アウトラインクラスとOutlineElementクラスを使用してメモを作成します。
  • Page.AppendChildLast()メソッドを使用してページにメモを追加します。
  • Document.AppendChildLast()メソッドを使用してOneNoteドキュメントにページを追加します。
  • Document.Save()メソッドを使用してドキュメントを保存します。

次のコードサンプルは、C#を使用してOneNoteドキュメントにページを作成および追加する方法を示しています。

// ドキュメントディレクトリへのパス。
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);

C#を使用してOneNoteドキュメントに画像を挿入する

OneNoteページに画像を挿入することもできます。以下は、画像を含むOneNoteドキュメントを作成する手順です。

  • 新しいOneNoteドキュメントのDocumentクラスのインスタンスを作成します。
  • Pageクラスを使用して、ドキュメントの新しいページを作成します。
  • Imageクラスの新しいインスタンスを作成し、画像のパスで初期化します。
  • OutlineElement.AppendChildLast()メソッドを使用してページに画像を追加します。
  • Document.AppendChildLast()メソッドを使用してドキュメントにページを追加します。
  • OneNoteドキュメントを保存します。

次のコードサンプルは、C#を使用してOneNoteドキュメントに画像を挿入する方法を示しています。

// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_Images();

// Documentクラスのオブジェクトを作成します
Document doc = new Document();
// Pageクラスオブジェクトを初期化します
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// アウトラインクラスオブジェクトを初期化し、オフセットプロパティを設定します
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);
// アウトラインノードを追加
page.AppendChildLast(outline);
// ページノードの追加
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// OneNoteドキュメントを保存する
doc.Save(dataDir);

C#を使用してOneNoteドキュメントにテーブルを追加する

テーブルは、データを行と列の形式で整理および要約するための優れた方法です。効率的な編成に加えて、テーブルを使用すると、目的のデータをすばやく見つけることができます。 OneNoteドキュメントはテーブルもサポートしています。以下は、OneNoteドキュメントにテーブルを追加する手順です。

  • Documentクラスを使用して新しいOneNoteドキュメントを作成します。
  • Pageクラスを使用して新しいページを作成します。
  • TableRowクラスとTableCellクラスをそれぞれ使用して、新しいテーブル行とテーブルセルを追加します。
  • TableCell.AppendChildLastメソッドを使用して、テーブルセルに要素を挿入します。
  • TableRow.AppendChildLast()メソッドを使用して、テーブルの行にセルを追加します。
  • Tableクラスのインスタンスを作成し、それにテーブル行を追加します。
  • OutlineElementクラスとOutlineクラスを使用して、テーブルをページに追加します。
  • ドキュメントにページを追加し、Document.Save()メソッドを使用してドキュメントを保存します。

次のコードサンプルは、C#を使用してOneNoteドキュメントにテーブルを追加する方法を示しています。

// ドキュメントディレクトリへのパス。
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 = 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 = 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);

C#を使用してOneNoteドキュメントにタグを挿入する

タグは、OneNoteドキュメントのメモを分類または優先順位付けするために使用されます。テキストまたは段落にタグを適用して、関連するメモをすばやく検索またはフィルタリングできます。以下は、OneNoteドキュメントでタグを作成および追加する手順です。

  • Documentクラスのインスタンスを作成します。
  • Pageクラスを使用して新しいページを作成します。
  • OutlineオブジェクトとOutlineElementオブジェクトを初期化します。
  • 新しいリッチテキストオブジェクトを作成し、そのテキストとその他のプロパティを設定します。
  • RichText.Tags.Add()メソッドを使用してテキストにタグを追加します。
  • ページにテキストを追加します。
  • OneNoteドキュメントにページを追加して保存します。

次のコードサンプルは、C#を使用してOneNoteドキュメントのテキストにタグを追加する方法を示しています。

// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_Tags();

// Documentクラスのオブジェクトを作成します
Document doc = new Document();
// Pageクラスオブジェクトを初期化します
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// アウトラインクラスオブジェクトを初期化します
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クラスを使用して、ドキュメントの新しいページを作成します。
  • TextStyleクラスを使用して、ハイパーリンクのテキストスタイルとそのURLを設定します。
  • RichTextクラスのインスタンスを作成し、そのテキストを追加して、ハイパーリンク用に以前に作成したテキストスタイルで初期化します。
  • OneNoteドキュメントのページにテキストを追加します。
  • ドキュメントを.oneファイルとして保存します。

次のコードサンプルは、C#を使用してOneNoteドキュメントへのハイパーリンクを挿入する方法を示しています。

// ドキュメントディレクトリへのパス。
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);
// アウトラインノードを追加
page.AppendChildLast(outline);
// ページノードの追加
doc.AppendChildLast(page);

dataDir = dataDir + "AddHyperlink_out.one";
// OneNoteドキュメントを保存する
doc.Save(dataDir);

結論

この記事では、C#を使用してOneNote(.ONE)ドキュメントを最初から作成する方法を学習しました。さらに、この記事では、OneNoteドキュメントへのページ、画像、表、タグ、およびハイパーリンクをプログラムで挿入する方法についても説明しました。 ドキュメントを使用して、Aspose.Notefor.NETの他の興味深い機能を調べることができます。

関連記事