C# 2에서 OneNote 파일 만들기

.NET용 Aspose.Note는 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 클래스를 사용하여 해당 수준을 설정합니다.
  • Outline 및 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 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 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 개체를 만들고 해당 텍스트 및 기타 속성을 설정합니다.
  • 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 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 문서에 대한 하이퍼링크를 프로그래밍 방식으로 삽입하는 방법도 다루었습니다. 문서를 사용하여 .NET용 Aspose.Note의 다른 흥미로운 기능을 탐색할 수 있습니다.

관련 기사