کار با ویژگی های Markdown
این موضوع در مورد چگونگی پیاده سازی ویژگی های Markdown با استفاده از Aspose.Words بحث می کند. Markdown یک روش ساده برای قالب بندی متن ساده است که به راحتی می تواند به HTML تبدیل شود. Aspose.Words از ویژگی های زیر Markdown پشتیبانی می کند:
- عناوین
- نقل قول های بلوکی
- قوانین افقی
- تاکید جسورانه
- تأکید کج
پیاده سازی ویژگی Markdown عمدتا از مشخصات CommonMark
در Aspose.Words API پیروی می کند و تمام ویژگی ها به عنوان سبک های مربوطه یا قالب بندی مستقیم نشان داده می شوند. که به این معنی است که
- با خط چاق و خط کش به شکل
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.Words API کلاس MarkdownSaveOptions را برای مشخص کردن گزینه های اضافی در حالی که یک سند را در فرمت Markdown ذخیره می کند، فراهم می کند.
مثال کد زیر نشان داد که چگونه گزینه های مختلف Markdown save را مشخص کنیم.
// 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.Words API TableContentAlignment شمارش را فراهم می کند که جهت های تراز را برای تراز کردن محتویات در جداول در حالی که به سند Markdown صادر می شود، تعریف می کند. مثال کد زیر نشان می دهد که چگونه محتوای داخل جدول را تراز کنیم.
// 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); |