کار با ویژگی های Markdown
این مبحث نحوه پیاده سازی ویژگی های Markdown با استفاده از Aspose.Words را مورد بحث قرار می دهد. Markdown یک راه ساده برای قالب بندی متن ساده است که به راحتی می توان آن را به HTML تبدیل کرد. Aspose.Words از ویژگی های Markdown زیر پشتیبانی می کند:
- سرفصل ها
- نقل قول های بلوکی
- قوانین افقی
- تاکید جسورانه
- تاکید کج
پیاده سازی ویژگی Markdown عمدتاً از مشخصات CommonMark
در Aspose.Words API پیروی می کند و همه ویژگی ها به عنوان سبک های مربوطه یا قالب بندی مستقیم نشان داده می شوند. که به این معنی است
- Bold و Italic به صورت Font.bold و Font.Italic نشان داده می شوند
- سرفصل ها پاراگراف هایی با سبک سرفصل 1 - سرفصل 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-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.") | |
builder.write("You can write ") | |
builder.font.bold = True | |
builder.write("bold") | |
builder.font.bold = False | |
builder.write(" or ") | |
builder.font.italic = True | |
builder.write("italic") | |
builder.font.italic = False | |
builder.writeln(" text. ") | |
builder.write("You can also write ") | |
builder.font.bold = True | |
builder.font.italic = True | |
builder.write("BoldItalic") | |
builder.font.bold = False | |
builder.font.italic = False | |
builder.write("text.") | |
builder.document.save(docs_base.artifacts_dir + "WorkingWithMarkdown.emphases.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-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
# By default Heading styles in Word may have bold and italic formatting. | |
# If we do not want the text to be emphasized, set these properties explicitly to false. | |
builder.font.bold = False | |
builder.font.italic = False | |
builder.writeln("The following produces headings:") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 1") | |
builder.writeln("Heading1") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 2") | |
builder.writeln("Heading2") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 3") | |
builder.writeln("Heading3") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 4") | |
builder.writeln("Heading4") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 5") | |
builder.writeln("Heading5") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 6") | |
builder.writeln("Heading6") | |
# Note that the emphases are also allowed inside Headings. | |
builder.font.bold = True | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 1") | |
builder.writeln("Bold Heading1") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.headings.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-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("We support blockquotes in Markdown:") | |
builder.paragraph_format.style = doc.styles.get_by_name("Quote") | |
builder.writeln("Lorem") | |
builder.writeln("ipsum") | |
builder.paragraph_format.style = doc.styles.get_by_name("Normal") | |
builder.writeln("The quotes can be of any level and can be nested:") | |
quoteLevel3 = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote2") | |
builder.paragraph_format.style = quoteLevel3 | |
builder.writeln("Quote level 3") | |
quoteLevel4 = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote3") | |
builder.paragraph_format.style = quoteLevel4 | |
builder.writeln("Nested quote level 4") | |
builder.paragraph_format.style = doc.styles.get_by_name("Quote") | |
builder.writeln() | |
builder.writeln("Back to first level") | |
quoteLevel1WithHeading = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote Heading 3") | |
builder.paragraph_format.style = quoteLevel1WithHeading | |
builder.write("Headings are allowed inside Quotes") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.block_quotes.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-Python-via-.NET | |
builder = aw.DocumentBuilder() | |
builder.writeln("We support Horizontal rules (Thematic breaks) in Markdown:") | |
builder.insert_horizontal_rule() | |
builder.document.save(docs_base.artifacts_dir + "WorkingWithMarkdown.horizontal_rule_example.md") |
خواندن یک سند Markdown
قطعه کد زیر نحوه خواندن یک سند markdown را به شما نشان می دهد.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Quotes.md") | |
# Let's remove Heading formatting from a Quote in the very last paragraph. | |
paragraph = doc.first_section.body.last_paragraph | |
paragraph.paragraph_format.style = doc.styles.get_by_name("Quote") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.read_markdown_document.md") |
گزینه های ذخیره Markdown را مشخص کنید
Aspose.Words API کلاس MarkdownSaveOptions را برای تعیین گزینه های اضافی در حین ذخیره یک سند در قالب Markdown فراهم می کند.
مثال کد زیر نحوه تعیین گزینه های ذخیره سازی مختلف Markdown را نشان می دهد.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("Some text!") | |
doc.save(docs_base.artifacts_dir + "BaseConversions.docx_to_markdown.md") |
نحوه تراز کردن محتوا در داخل جدول هنگام صادرات به Markdown
Aspose.Words API شمارش TableContentAlignment را ارائه می دهد که جهت تراز را برای تراز کردن محتویات در جداول در حین صادرات به سند Markdown تعریف می کند. مثال کد زیر نحوه تراز کردن محتوا در جدول را نشان می دهد.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.insert_cell() | |
builder.paragraph_format.alignment = aw.ParagraphAlignment.RIGHT | |
builder.write("Cell1") | |
builder.insert_cell() | |
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER | |
builder.write("Cell2") | |
# Makes all paragraphs inside the table to be aligned. | |
saveOptions = aw.saving.MarkdownSaveOptions() | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.LEFT | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.left_table_content_alignment.md", saveOptions) | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.RIGHT | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.right_table_content_alignment.md", saveOptions) | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.CENTER | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.center_table_content_alignment.md", saveOptions) | |
# The alignment in this case will be taken from the first paragraph in corresponding table column. | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.AUTO | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.auto_table_content_alignment.md", saveOptions) |