Lucrul cu Markdown caracteristici
Acest subiect discută despre modul de implementare a Markdown Caracteristici folosind Aspose.Words. Markdown este o modalitate simplă de a formata text simplu care poate fi ușor convertit în HTML. Aspose.Words acceptă următoarele Markdown Caracteristici:
- Titluri
- Blockquotes
- Reguli orizontale
- Accent îndrăzneț
- Accent cursiv
Implementarea caracteristicilor Markdown urmează în mare parte specificația CommonMark
în Aspose.Words API și toate caracteristicile sunt reprezentate ca stiluri corespunzătoare sau formatare directă. Ceea ce înseamnă că
- Bold și Italic sunt reprezentate ca
Font.Bold
șiFont.Italic
. - Titlurile sunt paragrafe cu Heading 1 - Heading 6 stiluri.
- Citatele sunt paragrafe cu “citat” în numele stilului.
- HorizontalRule este un paragraf cu forma HorizontalRule.
Markdown Document cu accente
Această secțiune vă demonstrează cum să produceți un document markdown cu accente, așa cum este prezentat mai jos:
Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.
You can write **bold** or *italic* text.
You can also write ***BoldItalic***text.
Următorul fragment de cod poate fi folosit pentru a produce documentul markdown dat mai sus.
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
builder->Writeln(u"Markdown treats asterisks (*) and underscores (_) as indicators of emphasis."); | |
builder->Write(u"You can write "); | |
builder->get_Font()->set_Bold(true); | |
builder->Write(u"bold"); | |
builder->get_Font()->set_Bold(false); | |
builder->Write(u" or "); | |
builder->get_Font()->set_Italic(true); | |
builder->Write(u"italic"); | |
builder->get_Font()->set_Italic(false); | |
builder->Writeln(u" text. "); | |
builder->Write(u"You can also write "); | |
builder->get_Font()->set_Bold(true); | |
builder->get_Font()->set_Italic(true); | |
builder->Write(u"BoldItalic"); | |
builder->get_Font()->set_Bold(false); | |
builder->get_Font()->set_Italic(false); | |
builder->Write(u"text."); | |
System::String outputPath = outputDataDir + u"WorkingWithMarkdownFeatures.MarkdownDocumentWithEmphases.md"; | |
builder->get_Document()->Save(outputPath); |
Markdown Document cu titluri
Această secțiune vă demonstrează cum să produceți un document markdown cu titluri, așa cum este prezentat mai jos:
The following produces headings:
# Heading1
## Heading2
### Heading3
#### Heading4
##### Heading5
###### Heading6
# **Bold Heading1**
Următorul fragment de cod poate fi folosit pentru a produce documentul markdown dat mai sus.
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<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->get_Font()->set_Bold(false); | |
builder->get_Font()->set_Italic(false); | |
builder->Writeln(u"The following produces headings:"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 1")); | |
builder->Writeln(u"Heading1"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 2")); | |
builder->Writeln(u"Heading2"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 3")); | |
builder->Writeln(u"Heading3"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 4")); | |
builder->Writeln(u"Heading4"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 5")); | |
builder->Writeln(u"Heading5"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 6")); | |
builder->Writeln(u"Heading6"); | |
// Note, emphases are also allowed inside Headings: | |
builder->get_Font()->set_Bold(true); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Heading 1")); | |
builder->Writeln(u"Bold Heading1"); | |
System::String outputPath = outputDataDir + u"WorkingWithMarkdownFeatures.MarkdownDocumentWithHeadings.md"; | |
doc->Save(outputPath); |
Markdown Document cu ghilimele bloc
Această secțiune vă demonstrează cum să produceți un document markdown cu ghilimele bloc, așa cum este prezentat mai jos:
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
>
Următorul fragment de cod poate fi folosit pentru a produce documentul markdown dat mai sus.
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
builder->Writeln(u"We support blockquotes in Markdown:"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Quote")); | |
builder->Writeln(u"Lorem"); | |
builder->Writeln(u"ipsum"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Normal")); | |
builder->Writeln(u"The quotes can be of any level and can be nested:"); | |
System::SharedPtr<Style> quoteLevel3 = doc->get_Styles()->Add(Aspose::Words::StyleType::Paragraph, u"Quote2"); | |
builder->get_ParagraphFormat()->set_Style(quoteLevel3); | |
builder->Writeln(u"Quote level 3"); | |
System::SharedPtr<Style> quoteLevel4 = doc->get_Styles()->Add(Aspose::Words::StyleType::Paragraph, u"Quote3"); | |
builder->get_ParagraphFormat()->set_Style(quoteLevel4); | |
builder->Writeln(u"Nested quote level 4"); | |
builder->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Quote")); | |
builder->Writeln(); | |
builder->Writeln(u"Back to first level"); | |
System::SharedPtr<Style> quoteLevel1WithHeading = doc->get_Styles()->Add(Aspose::Words::StyleType::Paragraph, u"Quote Heading 3"); | |
builder->get_ParagraphFormat()->set_Style(quoteLevel1WithHeading); | |
builder->Write(u"Headings are allowed inside Quotes"); | |
System::String outputPath = outputDataDir + u"WorkingWithMarkdownFeatures.MarkdownDocumentWithBlockQuotes.md"; | |
doc->Save(outputPath); |
Markdown Document cu regulă orizontală
Această secțiune vă demonstrează cum să produceți un document markdown Cu regulă orizontală, așa cum este prezentat mai jos:
We support Horizontal rules (Thematic breaks) in Markdown:
-----
Următorul fragment de cod poate fi folosit pentru a produce documentul markdown dat mai sus.
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(System::MakeObject<Document>()); | |
builder->Writeln(u"We support Horizontal rules (Thematic breaks) in Markdown:"); | |
builder->InsertHorizontalRule(); | |
System::String outputPath = outputDataDir + u"WorkingWithMarkdownFeatures.MarkdownDocumentWithHorizontalRule.md"; | |
builder->get_Document()->Save(outputPath); |
Citirea unui Document Markdown
Următorul fragment de cod vă arată cum să citiți un document markdown.
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// This is Markdown document that was produced in example of UC3. | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"QuotesExample.md"); | |
// Let's remove Heading formatting from a Quote in the very last paragraph. | |
System::SharedPtr<Paragraph> paragraph = doc->get_FirstSection()->get_Body()->get_LastParagraph(); | |
paragraph->get_ParagraphFormat()->set_Style(doc->get_Styles()->idx_get(u"Quote")); | |
System::String outputPath = outputDataDir + u"WorkingWithMarkdownFeatures.ReadMarkdownDocument.md"; | |
doc->Save(outputPath); |
Specificați Markdown Opțiuni De Salvare
Aspose.Words API oferă clasa MarkdownSaveOptions pentru a specifica opțiuni suplimentare în timp ce salvați un document în formatul Markdown.
Următorul exemplu de cod a demonstrat cum să specificați diferite opțiuni de salvare Markdown.
auto builder = System::MakeObject<DocumentBuilder>(); | |
builder->Writeln(u"Some text!"); | |
// specify MarkDownSaveOptions | |
auto saveOptions = SaveOptions::CreateSaveOptions(SaveFormat::Markdown); | |
builder->get_Document()->Save(outputDataDir + u"TestDocument.md", saveOptions); |
Cum să aliniați conținutul în interiorul tabelului în timp ce exportați în Markdown
Aspose.Words API oferă TableContentAlignment enumerare care definește direcțiile de aliniere pentru a alinia conținutul în tabele în timp ce exportă în documentul Markdown. Următorul exemplu de cod demonstrează modul de aliniere a conținutului în interiorul tabelului.
auto builder = System::MakeObject<DocumentBuilder>(); | |
// Create a new table with two cells. | |
builder->InsertCell(); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Right); | |
builder->Write(u"Cell1"); | |
builder->InsertCell(); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Center); | |
builder->Write(u"Cell2"); | |
auto saveOptions = System::MakeObject<MarkdownSaveOptions>(); | |
// Makes all paragraphs inside table to be aligned to Left. | |
saveOptions->set_TableContentAlignment(TableContentAlignment::Left); | |
builder->get_Document()->Save(outputDataDir + u"left.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Right. | |
saveOptions->set_TableContentAlignment(TableContentAlignment::Right); | |
builder->get_Document()->Save(outputDataDir + u"right.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Center. | |
saveOptions->set_TableContentAlignment(TableContentAlignment::Center); | |
builder->get_Document()->Save(outputDataDir + u"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->set_TableContentAlignment(TableContentAlignment::Auto); | |
builder->get_Document()->Save(outputDataDir + u"auto.md", saveOptions); |