Trabajar con funciones Markdown
Este tema analiza cómo implementar funciones Markdown usando Aspose.Words. Markdown es una forma sencilla de formatear texto sin formato que se puede convertir fácilmente a HTML. Aspose.Words admite las siguientes funciones Markdown:
- Encabezados
- Citas en bloque
- Reglas horizontales
- énfasis en negrita
- énfasis en cursiva
La implementación de funciones Markdown sigue principalmente la especificación CommonMark
en Aspose.Words API y todas las funciones se representan como estilos correspondientes o formato directo. Lo que significa que
- Negrita y cursiva se representan como Font.bold y Font.Italic.
- Los títulos son párrafos con estilos de Título 1 - Título 6.
- Las comillas son párrafos con “Cita” en el nombre del estilo.
- HorizontalRule es un párrafo con forma HorizontalRule.
Documento Markdown con énfasis
Esta sección le muestra cómo producir un documento markdown con los énfasis que se indican a continuación:
Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.
You can write **bold** or *italic* text.
You can also write ***BoldItalic*** text.
El siguiente fragmento de código se puede utilizar para producir el documento markdown indicado anteriormente.
# 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") |
Documento Markdown con encabezados
Esta sección le muestra cómo producir un documento markdown con los encabezados que se indican a continuación:
The following produces headings:
# Heading1
## Heading2
### Heading3
#### Heading4
##### Heading5
###### Heading6
# **Bold Heading1**
El siguiente fragmento de código se puede utilizar para producir el documento markdown indicado anteriormente.
# 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") |
Documento Markdown con cotizaciones en bloque
Esta sección le muestra cómo producir un documento markdown con comillas en bloque como se indica a continuación:
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
>
El siguiente fragmento de código se puede utilizar para producir el documento markdown indicado anteriormente.
# 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") |
Documento Markdown con regla horizontal
Esta sección le muestra cómo producir un documento markdown con regla horizontal como se indica a continuación:
We support Horizontal rules (Thematic breaks) in Markdown:
-----
El siguiente fragmento de código se puede utilizar para producir el documento markdown indicado anteriormente.
# 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") |
Leer un documento Markdown
El siguiente fragmento de código le muestra cómo leer un documento 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") |
Especificar opciones de guardado de Markdown
Aspose.Words API proporciona una clase MarkdownSaveOptions para especificar opciones adicionales al guardar un documento en formato Markdown.
El siguiente ejemplo de código demostró cómo especificar varias opciones de guardado de 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") |
Cómo alinear contenido dentro de la tabla mientras se exporta a Markdown
Aspose.Words API proporciona una enumeración TableContentAlignment que define las direcciones de alineación para alinear el contenido de las tablas mientras se exporta al documento Markdown. El siguiente ejemplo de código demuestra cómo alinear el contenido dentro de la tabla.
# 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) |