Tạo tệp OneNote trong C# 2

Aspose.Note for .NET là API thao tác tài liệu OneNote giàu tính năng cho phép bạn tạo, đọc và chuyển đổi tài liệu OneNote theo chương trình bằng C# hoặc VB.NET. Trong bài viết trước, chúng tôi đã giới thiệu cách sử dụng Aspose.Note cho .NET để chuyển đổi, đọc và phân tích cú pháp tài liệu OneNote. Hôm nay, chúng ta sẽ xem cách tạo tài liệu OneNote từ đầu bằng C#.

MS OneNote cung cấp cho bạn cách tổ chức và quản lý thông tin dưới dạng ghi chú kỹ thuật số (.ONE). Các trang trong tài liệu OneNote được sử dụng để chứa nội dung do người dùng xác định, có thể bao gồm văn bản, bảng, hình ảnh, danh sách, v.v. Trong bài viết này, chúng tôi sẽ đề cập đến tất cả các khía cạnh cơ bản của việc tạo trang và nội dung của chúng trong tài liệu OneNote .

Tạo tài liệu OneNote (.ONE) bằng C#

Hãy bắt đầu bằng cách tạo một tài liệu OneNote trống chỉ với tiêu đề trang. Sau đây là các bước để tạo tài liệu OneNote với một trang trống và lưu nó dưới dạng tệp .one.

  • Tạo một thể hiện của lớp Tài liệu.
  • Tạo một trang mới bằng cách khởi tạo đối tượng Page với đối tượng của lớp Document.
  • Đặt tiêu đề của trang bằng thuộc tính Page.Title.
  • Gọi phương thức Document.AppendChild() và truyền đối tượng Trang.
  • Cuối cùng, lưu tài liệu OneNote bằng phương thức Document.Save().

Mẫu mã sau đây cho biết cách tạo tài liệu OneNote trống bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Aspose.Note.Document();
// Khởi tạo đối tượng lớp Trang
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Kiểu mặc định cho tất cả văn bản trong tài liệu.
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
// Đặt thuộc tính tiêu đề trang
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 }
};
// Nối thêm nút Trang trong tài liệu
doc.AppendChildLast(page);

dataDir = dataDir + "CreateDocWithPageTitle_out.one";
// Lưu tài liệu OneNote
doc.Save(dataDir);

Thêm trang vào tài liệu OneNote bằng C#

Trong phần này, chúng ta sẽ đi trước một bước và thêm văn bản vào trang trong tài liệu OneNote. Một trang trong tài liệu OneNote có thể là trang chính hoặc trang phụ. Chẳng hạn, bạn đang tạo một báo cáo hàng năm chứa thêm các phần phụ cho các báo cáo hàng tháng. Trong trường hợp này, bạn có thể đặt phần mô tả báo cáo trên trang chính và báo cáo hàng tháng trên các trang phụ. Trong tài liệu OneNote, điều này có thể được xử lý bằng cách sử dụng các cấp độ trang.

Sau đây là các bước để tạo các trang trong tài liệu OneNote.

  • Tạo tài liệu OneNote mới bằng lớp Tài liệu.
  • Tạo các trang mới cho tài liệu và đặt cấp độ của chúng bằng lớp Trang.
  • Sử dụng các lớp Outline và OutlineElement để tạo ghi chú.
  • Thêm ghi chú vào các trang bằng phương thức Page.AppendChildLast().
  • Thêm trang vào tài liệu OneNote bằng phương thức Document.AppendChildLast().
  • Lưu tài liệu bằng phương thức Document.Save().

Mẫu mã sau đây cho biết cách tạo và thêm trang vào tài liệu OneNote bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Pages();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Document();
// Khởi tạo đối tượng lớp Trang và đặt cấp độ của nó
Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
// Khởi tạo đối tượng lớp Trang và đặt cấp độ của nó
Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
// Khởi tạo đối tượng lớp Trang và đặt cấp độ của nó
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";
// Lưu tài liệu OneNote
doc.Save(dataDir);

Chèn hình ảnh vào tài liệu OneNote bằng C#

Bạn cũng có thể chèn hình ảnh vào các trang OneNote. Sau đây là các bước để tạo tài liệu OneNote có hình ảnh.

  • Tạo một thể hiện của lớp Tài liệu cho một tài liệu OneNote mới.
  • Sử dụng lớp Page để tạo một trang mới cho tài liệu.
  • Tạo một thể hiện mới của lớp Image và khởi tạo nó với đường dẫn của hình ảnh.
  • Thêm hình ảnh vào trang bằng phương thức OutlineElement.AppendChildLast().
  • Thêm trang vào tài liệu bằng phương thức Document.AppendChildLast().
  • Lưu tài liệu OneNote.

Mẫu mã sau đây cho biết cách chèn hình ảnh vào tài liệu OneNote bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Images();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Document();
// Khởi tạo đối tượng lớp Trang
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Khởi tạo đối tượng lớp Outline và đặt thuộc tính offset
Outline outline = new Outline(doc) { VerticalOffset = 0, HorizontalOffset = 0 };
// Khởi tạo đối tượng lớp OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Tải hình ảnh theo đường dẫn tệp.
Aspose.Note.Image image = new Aspose.Note.Image(doc, dataDir + "image.jpg");
// Đặt căn chỉnh hình ảnh
image.Alignment = HorizontalAlignment.Right;
// thêm hình ảnh
outlineElem.AppendChildLast(image);
// Thêm các yếu tố phác thảo
outline.AppendChildLast(outlineElem);
// Thêm nút Phác thảo
page.AppendChildLast(outline);
// Thêm nút trang
doc.AppendChildLast(page);

dataDir = dataDir + "BuildDocAndInsertImage_out.one";
// Lưu tài liệu OneNote
doc.Save(dataDir);

Thêm bảng vào tài liệu OneNote bằng C#

Bảng là một cách tốt để tổ chức và tóm tắt dữ liệu ở dạng hàng và cột. Cùng với cách tổ chức hiệu quả, các bảng cho phép bạn định vị dữ liệu mong muốn một cách nhanh chóng. Tài liệu OneNote cũng hỗ trợ bảng. Sau đây là các bước để thêm bảng trong tài liệu OneNote.

  • Tạo tài liệu OneNote mới bằng lớp Tài liệu.
  • Tạo một trang mới sử dụng lớp Trang.
  • Thêm một hàng và ô bảng mới bằng cách sử dụng các lớp TableRow và TableCell tương ứng.
  • Chèn các phần tử vào các ô của bảng bằng phương thức TableCell.AppendChildLast.
  • Thêm các ô vào hàng của bảng bằng phương thức TableRow.AppendChildLast().
  • Tạo một thể hiện của lớp Bảng và thêm hàng của bảng vào đó.
  • Thêm bảng vào trang bằng các lớp OutlineElement và Outline.
  • Thêm trang vào tài liệu và lưu tài liệu bằng phương thức Document.Save().

Mẫu mã sau đây cho biết cách thêm bảng vào tài liệu OneNote bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Tables();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Document();
// Khởi tạo đối tượng lớp Trang
Aspose.Note.Page page = new Aspose.Note.Page(doc);

// Khởi tạo đối tượng lớp TableRow
TableRow row1 = new TableRow(doc);
// Khởi tạo đối tượng lớp TableCell
TableCell cell11 = new TableCell(doc);
TableCell cell12 = new TableCell(doc);
TableCell cell13 = new TableCell(doc);

// Nối các thành phần phác thảo trong ô của bảng
cell11.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
cell12.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
cell13.AppendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
// Các ô của bảng thành các hàng
row1.AppendChildLast(cell11);
row1.AppendChildLast(cell12);
row1.AppendChildLast(cell13);

// Khởi tạo đối tượng lớp TableRow
TableRow row2 = new TableRow(doc);
// khởi tạo đối tượng lớp TableCell
TableCell cell21 = new TableCell(doc);
TableCell cell22 = new TableCell(doc);
TableCell cell23 = new TableCell(doc);

// Nối các thành phần phác thảo trong ô của bảng
cell21.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
cell22.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
cell23.AppendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));

// Nối các ô của bảng vào các hàng
row2.AppendChildLast(cell21);
row2.AppendChildLast(cell22);
row2.AppendChildLast(cell23);

// Khởi tạo đối tượng lớp Bảng và đặt độ rộng cột
Table table = new Table(doc)
{
    IsBordersVisible = true,
    Columns = { new TableColumn { Width = 200 }, new TableColumn { Width = 200 }, new TableColumn { Width = 200 } }
};
// Nối các hàng của bảng vào bảng
table.AppendChildLast(row1);
table.AppendChildLast(row2);

// Khởi tạo đối tượng Outline
Outline outline = new Outline(doc);
// Khởi tạo đối tượng OutlineElement
OutlineElement outlineElem = new OutlineElement(doc);
// Thêm bảng để phác thảo nút phần tử
outlineElem.AppendChildLast(table);
// Thêm phần tử phác thảo vào phác thảo
outline.AppendChildLast(outlineElem);
// Thêm phác thảo vào nút trang
page.AppendChildLast(outline);
// Thêm trang vào nút tài liệu
doc.AppendChildLast(page);
dataDir = dataDir + "InsertTable_out.one";
doc.Save(dataDir);

Chèn Thẻ vào Tài liệu OneNote bằng C#

Thẻ được sử dụng để phân loại hoặc ưu tiên các ghi chú trong tài liệu OneNote. Bạn có thể áp dụng các thẻ cho văn bản hoặc đoạn văn để nhanh chóng tìm hoặc lọc các ghi chú liên quan. Sau đây là các bước để tạo và thêm thẻ trong tài liệu OneNote.

  • Tạo một thể hiện của lớp Tài liệu.
  • Tạo một trang mới sử dụng lớp Trang.
  • Khởi tạo các đối tượng Outline và OutlineElement.
  • Tạo một đối tượng RichText mới và đặt văn bản cũng như các thuộc tính khác của nó.
  • Thêm thẻ vào văn bản bằng phương thức RichText.Tags.Add().
  • Nối văn bản vào trang.
  • Thêm trang vào tài liệu OneNote và lưu nó.

Mẫu mã sau đây cho biết cách thêm thẻ vào văn bản trong tài liệu OneNote bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Tags();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Document();
// Khởi tạo đối tượng lớp Trang
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Khởi tạo đối tượng lớp Outline
Outline outline = new Outline(doc);
// Khởi tạo đối tượng lớp 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,
});

// Thêm nút văn bản
outlineElem.AppendChildLast(text);
// Thêm nút phần tử phác thảo
outline.AppendChildLast(outlineElem);
// Thêm nút phác thảo
page.AppendChildLast(outline);
// Thêm nút trang
doc.AppendChildLast(page);

dataDir = dataDir + "AddTextNodeWithTag_out.one";
// Lưu tài liệu OneNote
doc.Save(dataDir);

Cuối cùng nhưng không kém phần quan trọng, hãy xem cách chèn siêu liên kết vào tài liệu OneNote bằng các bước sau.

  • Tạo một thể hiện của lớp Tài liệu.
  • Tạo một trang mới cho tài liệu bằng lớp Page.
  • Đặt kiểu văn bản của siêu kết nối và URL của nó bằng cách sử dụng lớp TextStyle.
  • Tạo một thể hiện của lớp RichText, thêm văn bản của nó và khởi tạo nó với kiểu văn bản đã tạo trước đó cho siêu liên kết.
  • Thêm văn bản vào trang của tài liệu OneNote.
  • Lưu tài liệu dưới dạng tệp .one.

Mẫu mã sau đây cho biết cách chèn siêu kết nối vào tài liệu OneNote bằng C#.

// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Tasks();

// Tạo một đối tượng của lớp Tài liệu
Document doc = new Document();
// Khởi tạo đối tượng lớp Trang
Aspose.Note.Page page = new Aspose.Note.Page(doc);
// Khởi tạo đối tượng lớp 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);
// Thêm các yếu tố phác thảo
outline.AppendChildLast(outlineElem);
// Thêm nút Phác thảo
page.AppendChildLast(outline);
// Thêm nút trang
doc.AppendChildLast(page);

dataDir = dataDir + "AddHyperlink_out.one";
// Lưu tài liệu OneNote
doc.Save(dataDir);

Sự kết luận

Trong bài viết này, bạn đã học cách tạo tài liệu OneNote (.ONE) từ đầu bằng C#. Ngoài ra, bài viết cũng đề cập đến cách chèn trang, hình ảnh, bảng, thẻ và siêu liên kết vào tài liệu OneNote theo cách lập trình. Bạn có thể khám phá các tính năng thú vị khác của Aspose.Note dành cho .NET bằng cách sử dụng tài liệu.

Những bài viết liên quan