Markdown기능 사용
이 항목에서는Aspose.Words을 사용하여Markdown기능을 구현하는 방법에 대해 설명합니다. Markdown는HTML로 쉽게 변환할 수 있는 일반 텍스트의 서식을 지정하는 간단한 방법입니다. Aspose.Words은 다음Markdown기능을 지원합니다:
- 제목
- 인용구
- 수평 규칙
- 대담한 강조
- 기울임 꼴 강조
Markdown기능 구현은 대부분Aspose.WordsAPI의CommonMark
사양을 따르며 모든 기능은 해당 스타일 또는 직접 포맷으로 표시됩니다. 즉,
- 굵게 및 기울임 꼴은
Font.Bold
및Font.Italic
으로 표시됩니다. - 제목은Heading 1-Heading 6스타일의 단락입니다.
- 따옴표는 스타일 이름에"따옴표"가 있는 단락입니다.
- HorizontalRule은
HorizontalRule
모양의 단락입니다.
Markdown강조 표시가 있는 문서
이 섹션에서는 다음과 같이 강조된markdown문서를 생성하는 방법을 보여 줍니다:
Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.
You can write **bold** or *italic* text.
You can also write ***BoldItalic***text.
다음 코드 조각은 위에 주어진markdown문서를 생성하는 데 사용할 수 있습니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.writeln("Markdown treats asterisks (*) and underscores (_) as indicators of emphasis."); | |
builder.write("You can write "); | |
builder.getFont().setBold(true); | |
builder.write("bold"); | |
builder.getFont().setBold(false); | |
builder.write(" or "); | |
builder.getFont().setItalic(true); | |
builder.write("italic"); | |
builder.getFont().setItalic(false); | |
builder.writeln(" text. "); | |
builder.write("You can also write "); | |
builder.getFont().setBold(true); | |
builder.getFont().setItalic(true); | |
builder.write("BoldItalic"); | |
builder.getFont().setBold(false); | |
builder.getFont().setItalic(false); | |
builder.write("text."); | |
builder.getDocument().save("EmphasesExample.md"); |
Markdown제목이 있는 문서
이 섹션에서는 아래와 같이 제목이 있는markdown문서를 생성하는 방법을 보여 줍니다:
The following produces headings:
# Heading1
## Heading2
### Heading3
#### Heading4
##### Heading5
###### Heading6
# **Bold Heading1**
다음 코드 조각은 위의markdown문서를 생성하는 데 사용할 수 있습니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// By default Heading styles in Word may have bold and italic formatting. | |
// If we do not want text to be emphasized, set these properties explicitly to | |
// false. | |
builder.getFont().setBold(false); | |
builder.getFont().setItalic(false); | |
builder.writeln("The following produces headings:"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 1")); | |
builder.writeln("Heading1"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 2")); | |
builder.writeln("Heading2"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 3")); | |
builder.writeln("Heading3"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 4")); | |
builder.writeln("Heading4"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 5")); | |
builder.writeln("Heading5"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 6")); | |
builder.writeln("Heading6"); | |
// Note, emphases are also allowed inside Headings: | |
builder.getFont().setBold(true); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 1")); | |
builder.writeln("Bold Heading1"); | |
doc.save(dataDir + "HeadingsExample.md"); |
Markdown블록 따옴표가 있는 문서
이 섹션에서는 아래와 같이 블록 따옴표가 있는markdown문서를 생성하는 방법을 보여 줍니다:
We support blockquotes in Markdown:
>*Lorem*
>*ipsum*
>The quotes can be of any level and can be nested:
>>>Quote level 3
>>>
>>>>Nested quote level 4
>
>*Back to first level*
>### Headings are allowed inside Quotes
>
다음 코드 조각은 위의markdown문서를 생성하는 데 사용할 수 있습니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.writeln("We support blockquotes in Markdown:"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
builder.writeln("Lorem"); | |
builder.writeln("ipsum"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal")); | |
builder.writeln("The quotes can be of any level and can be nested:"); | |
Style quoteLevel3 = doc.getStyles().add(StyleType.PARAGRAPH, "Quote2"); | |
builder.getParagraphFormat().setStyle(quoteLevel3); | |
builder.writeln("Quote level 3"); | |
Style quoteLevel4 = doc.getStyles().add(StyleType.PARAGRAPH, "Quote3"); | |
builder.getParagraphFormat().setStyle(quoteLevel4); | |
builder.writeln("Nested quote level 4"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
builder.writeln(); | |
builder.writeln("Back to first level"); | |
Style quoteLevel1WithHeading = doc.getStyles().add(StyleType.PARAGRAPH, "Quote Heading 3"); | |
builder.getParagraphFormat().setStyle(quoteLevel1WithHeading); | |
builder.write("Headings are allowed inside Quotes"); | |
doc.save(dataDir + "QuotesExample.md"); |
Markdown수평 규칙이 있는 문서
이 섹션에서는 아래와 같이 수평 규칙이 있는markdown문서를 생성하는 방법을 보여 줍니다:
We support Horizontal rules (Thematic breaks) in Markdown:
-----
다음 코드 조각은 위에 주어진markdown문서를 생성하는 데 사용할 수 있습니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
DocumentBuilder builder = new DocumentBuilder(new Document()); | |
builder.writeln("We support Horizontal rules (Thematic breaks) in Markdown:"); | |
builder.insertHorizontalRule(); | |
builder.getDocument().save(dataDir + "HorizontalRuleExample.md"); |
Markdown문서 읽기
다음 코드 조각은markdown문서를 읽는 방법을 보여 줍니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// This is Markdown document that was produced in example of | |
// MarkdownDocumentWithBlockQuotes. | |
Document doc = new Document(dataDir + "QuotesExample.md"); | |
// Let's remove Heading formatting from a Quote in the very last paragraph. | |
Paragraph paragraph = doc.getFirstSection().getBody().getLastParagraph(); | |
paragraph.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
doc.save(dataDir + "QuotesModifiedExample.md"); |
Markdown저장 옵션 지정
Aspose.WordsAPIMarkdownSaveOptions클래스를 제공하여 문서를Markdown형식으로 저장하는 동안 추가 옵션을 지정합니다.
다음 코드 예제에서는 다양한Markdown저장 옵션을 지정하는 방법을 보여 주었습니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
DocumentBuilder builder = new DocumentBuilder(); | |
builder.writeln("Some text!"); | |
// specify MarkDownSaveOptions | |
MarkdownSaveOptions saveOptions = (MarkdownSaveOptions) SaveOptions.createSaveOptions(SaveFormat.MARKDOWN); | |
builder.getDocument().save(dataDir + "TestDocument.md", saveOptions); |
Markdown으로 내보내는 동안 테이블 내부의 콘텐츠를 정렬하는 방법
Aspose.WordsAPIMarkdown문서로 내보내는 동안 테이블의 내용을 정렬하는 정렬 방향을 정의하는TableContentAlignment열거를 제공합니다. 다음 코드 예제에서는 테이블 내에서 콘텐츠를 정렬하는 방법을 보여 줍니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
DocumentBuilder builder = new DocumentBuilder(); | |
// Create a new table with two cells. | |
builder.insertCell(); | |
builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT); | |
builder.write("Cell1"); | |
builder.insertCell(); | |
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); | |
builder.write("Cell2"); | |
MarkdownSaveOptions saveOptions = new MarkdownSaveOptions(); | |
// Makes all paragraphs inside table to be aligned to Left. | |
saveOptions.setTableContentAlignment(TableContentAlignment.LEFT); | |
builder.getDocument().save(dataDir + "left.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Right. | |
saveOptions.setTableContentAlignment(TableContentAlignment.RIGHT); | |
builder.getDocument().save(dataDir + "right.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Center. | |
saveOptions.setTableContentAlignment(TableContentAlignment.CENTER); | |
builder.getDocument().save(dataDir + "center.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned automatically. | |
// The alignment in this case will be taken from the first paragraph in | |
// corresponding table column. | |
saveOptions.setTableContentAlignment(TableContentAlignment.AUTO); | |
builder.getDocument().save(dataDir + "auto.md", saveOptions); |