Een document omzetten naar Markdown
Markdown is een populair formaat gebruikt om tekst op te merken en de verdere conversie naar HTML, PDF, DOCX, of andere formaten. Veel ontwikkelaars kiezen dit formaat voor het schrijven van documentatie, het voorbereiden van artikelen voor publicatie op blogs, het beschrijven van projecten, enzovoort.
Markdown is zo populair omdat het gemakkelijk te werken met dit formaat, evenals het kan heel eenvoudig worden omgezet naar andere formaten. Daarom, Aspose.Words biedt de mogelijkheid om een document te converteren in elk ondersteund laadformaat tot Markdown en vice versa Aspose.Words ondersteunt ook de meest populaire formaten opslaan.
Nu de functionaliteit voor het werken met de Markdown format wordt actief ontwikkeld om u meer mogelijkheden voor handige en comfortabele werken met documenten te bieden.
Een document omzetten
Een document omzetten naar Markdown je hoeft alleen maar een document in elk ondersteund formaat te laden of een nieuw programma aan te maken. Dan moet je het document opslaan naar Markdown formaat.
De volgende code voorbeeld laat zien hoe DOCX converteren naar 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") |
U kunt ook de fysieke map opgeven waarin u afbeeldingen wilt opslaan bij het exporteren van een document naar Markdown formaat. Standaard, Aspose.Words slaat afbeeldingen op in dezelfde map waar het documentbestand wordt opgeslagen, maar u kunt dit gedrag met behulp van de images_folder eigendom.
Een map specificeren via images_folder is ook handig als u een document opslaat in een stroom en Aspose.Words heeft geen map voor het opslaan van afbeeldingen.
Indien de images_folder bestaat niet, het wordt automatisch aangemaakt.
Het volgende voorbeeld van code laat zien hoe u een map voor afbeeldingen opgeeft bij het opslaan van een document in een stream:
# 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 + "Image bullet points.docx") | |
saveOptions = aw.saving.MarkdownSaveOptions() | |
saveOptions.images_folder = docs_base.artifacts_dir + "Images" | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.set_images_folder.md", saveOptions) |
Opties opslaan bij omzetten naar Markdown
Aspose.Words biedt de mogelijkheid om de MarkdownSaveOptions klasse om te werken met geavanceerde opties bij het opslaan van een document naar Markdown formaat. De meeste eigenschappen zijn erf- of overbelasting eigenschappen die al bestaan in andere aspose.words.saving lessen. Daarnaast zijn een aantal eigenschappen die specifiek zijn voor Markdown Het formaat is ook toegevoegd. Zo is het table_content_alignment eigenschap om de afstemming van inhoud in tabellen te controleren, of images_folder om te controleren waar afbeeldingen worden opgeslagen bij het omzetten van een document naar Markdown formaat.
Ondersteund Markdown Kenmerken
Aspose.Words ondersteunt momenteel het volgende Markdown functies, die meestal volgen de CommonMark
specificatie in de Aspose.Words API en als passende stijlen of directe opmaak vertegenwoordigd zijn:
- Rubrieken zijn alinea’s met rubriek 1 en 6 stijlen
- Blockquotes zijn paragrafen met “Citere” in de stijlnaam
- IndentedCode zijn paragrafen met “IndentedCode” in de stijlnaam
- Feced Code zijn paragrafen met “FencedCode” in de stijlnaam
- InlineCode worden uitgevoerd met “InlineCode” in de
Font
stijlnaam - Horizontale regels zijn alinea’s met de
HorizontalRule
vorm - Vet accent
- Cursief accent
- StrikeThrough formatting
- Lijsten zijn genummerd of gebullette paragrafen
- Tabellen zijn vertegenwoordigd met de Table klasse
- Links zijn vertegenwoordigd als de FieldHyperlink klasse
Het volgende voorbeeld laat zien hoe je een document met een aantal stijlen kunt maken en opslaan naar 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) | |
# Specify the "Heading 1" style for the paragraph. | |
builder.paragraph_format.style_name = "Heading 1" | |
builder.writeln("Heading 1") | |
# Reset styles from the previous paragraph to not combine styles between paragraphs. | |
builder.paragraph_format.style_name = "Normal" | |
# Insert horizontal rule. | |
builder.insert_horizontal_rule() | |
# Specify the ordered list. | |
builder.insert_paragraph() | |
builder.list_format.apply_number_default() | |
# Specify the Italic emphasis for the text. | |
builder.font.italic = True | |
builder.writeln("Italic Text") | |
builder.font.italic = False | |
# Specify the Bold emphasis for the text. | |
builder.font.bold = True | |
builder.writeln("Bold Text") | |
builder.font.bold = False | |
# Specify the StrikeThrough emphasis for the text. | |
builder.font.strike_through = True | |
builder.writeln("StrikeThrough Text") | |
builder.font.strike_through = False | |
# Stop paragraphs numbering. | |
builder.list_format.remove_numbers() | |
# Specify the "Quote" style for the paragraph. | |
builder.paragraph_format.style_name = "Quote" | |
builder.writeln("A Quote block") | |
# Specify nesting Quote. | |
nestedQuote = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote1") | |
nestedQuote.base_style_name = "Quote" | |
builder.paragraph_format.style_name = "Quote1" | |
builder.writeln("A nested Quote block") | |
# Reset paragraph style to Normal to stop Quote blocks. | |
builder.paragraph_format.style_name = "Normal" | |
# Specify a Hyperlink for the desired text. | |
builder.font.bold = True | |
# Note, the text of hyperlink can be emphasized. | |
builder.insert_hyperlink("Aspose", "https:#www.aspose.com", False) | |
builder.font.bold = False | |
# Insert a simple table. | |
builder.start_table() | |
builder.insert_cell() | |
builder.write("Cell1") | |
builder.insert_cell() | |
builder.write("Cell2") | |
builder.end_table() | |
# Save your document as a Markdown file. | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.create_markdown_document.md") |
Het resultaat van deze code is hieronder weergegeven.
Nuttige tips
Er zijn verschillende nuances en interessante gevallen, hebben geleerd waarmee je kunt werken met Markdown bestanden flexibeler en gemakkelijker. Er is bijvoorbeeld de mogelijkheid om te gebruiken:
- SetextHeading waarmee u multi-line rubrieken te maken in Markdown terwijl reguliere rubrieken in Markdown kan alleen één lijn zijn. SetextHeading is gebaseerd op een “Heading N” stijl, en het niveau kan slechts 1 of 2 zijn. Als N in “Heading N” groter is dan of gelijk aan 2, dan is de overeenkomstige SetextHeading gebaseerd op “Heading 2,” anders op “Heading 1.”
- Verschillende markers voor het eerste niveau van bulleted lists ("-," “+” of “*,” de standaard marker is