Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Chcete-li programově číst, manipulovat a upravovat obsah a formátování dokumentu, musíte jej přeložit do Aspose.Words objektového modelu dokumentu (DOM).
Na rozdíl od Word dokumentů Markdown neodpovídá DOM popsanému v Aspose.Words Model Objektu Dokumentu (DOM) článek. Aspose.Words však poskytuje svůj vlastní mechanismus pro překlad dokumentů Markdown do DOM a zpět, abychom mohli úspěšně pracovat s jejich prvky, jako je formátování textu, tabulky, záhlaví a další.
Tento článek vysvětluje, jak lze různé funkce markdown přeložit do Aspose.Words DOM a zpět do formátu Markdown.
Hlavním problémem tohoto mechanismu je nejen přeložit Markdown na DOM, ale také provést reverzní transformaci – uložit dokument zpět do formátu Markdown s minimální ztrátou. Existují prvky, jako jsou víceúrovňové uvozovky, pro které není reverzní transformace triviální.
Náš překladový modul umožňuje uživatelům nejen pracovat se složitými prvky v existujícím dokumentu Markdown, ale také vytvářet vlastní dokument ve formátu Markdown s původní strukturou od nuly. Chcete-li vytvořit různé prvky, musíte použít styly se specifickými názvy podle určitých pravidel popsaných dále v tomto článku. Takové styly lze vytvářet programově.
Pro vložené bloky používáme formátování Font. Pokud neexistuje přímá korespondence pro funkci Markdown v Aspose.Words DOM, použijeme znakový styl s názvem, který začíná některými speciálními slovy.
U kontejnerových bloků používáme dědičnost stylů k označení vnořených funkcí Markdown. V tomto případě, i když neexistují žádné vnořené funkce, používáme také styly odstavců s názvem, který začíná některými speciálními slovy.
Seznamy s odrážkami a seřazené seznamy jsou také bloky kontejnerů v Markdown. Jejich vnoření je reprezentováno v DOM stejným způsobem jako u všech ostatních kontejnerových bloků pomocí dědičnosti stylů. Seznamy v DOM však navíc odpovídaly formátování čísel buď ve stylu seznamu, nebo ve formátování odstavců.
Při překladu funkcí Bold, Italic nebo Strikethrough inline markdown používáme formátování Font.
| Markdown funkce | Aspose.Words |
|---|---|
Bold**bold text** |
get_Font()->set_Bold(true) |
Italic*italic text* |
get_Font()->set_Italic(true) |
Strikethrough~Strikethrough text~ |
get_Font()->set_StrikeThrough(true) |
Používáme znakový styl s názvem, který začíná od slova InlineCode, následovaný volitelnou tečkou (.) a řadou zpětných tlačítek (`) pro funkci InlineCode. Pokud je vynechán počet backticků, bude ve výchozím nastavení použit jeden backtick.
| Markdown funkce | Aspose.Words |
|---|---|
InlineCode**inline code** |
get_Font()->set_StyleName(u"InlineCode[.][N]") |
Autolink<scheme://domain.com><email@domain.com> |
Třída FieldHyperlink. |
Link[link text](url)[link text](<url>"title")[link text](url 'title')[link text](url (title)) |
Třída FieldHyperlink. |
Image) |
Třída Shape. |
Dokument je posloupnost kontejnerových bloků, jako jsou nadpisy, odstavce, seznamy, uvozovky a další. Kontejnerové bloky lze rozdělit do 2 tříd: listové bloky a složité kontejnery. Listové bloky mohou obsahovat pouze vložený obsah. Složité kontejnery zase mohou obsahovat další kontejnerové bloky, včetně listových bloků.
Níže uvedená tabulka ukazuje příklady použití Markdown listových bloků v Aspose.Words:
| Markdown funkce | Aspose.Words |
|---|---|
HorizontalRule----- |
Jedná se o jednoduchý odstavec s odpovídajícím tvarem HorizontalRule:DocumentBuilder::InsertHorizontalRule() |
ATX Heading# H1, ## H2, ### H3… |
get_ParagraphFormat()->set_StyleName(u"Heading N"), kde (1<= N <= 9).To je přeloženo do vestavěného stylu a mělo by být přesně zadaného vzoru (nejsou povoleny žádné přípony ani předpony). Jinak to bude jen běžný odstavec s odpovídajícím stylem. |
Setext Heading=== (if Heading level 1),--- (if Heading level 2) |
get_ParagraphFormat->set_StyleName(u"SetextHeading[some suffix]"), na základě stylu' Nadpis N'.Pokud (N >= 2), použije se ‘Heading 2’, jinak ‘Heading 1’. Jakákoli Přípona je povolena ,ale Aspose.Words dovozce používá čísla “1” a “2”. |
| Indented Code | get_ParagraphFormat->set_StyleName(u"IndentedCode[some suffix]") |
Fenced Code |
get_ParagraphFormat()->set_StyleName(u"FencedCode[.][info string]")[.] a [info string] jsou volitelné. |
Níže uvedená tabulka ukazuje příklady použití Markdown komplexních kontejnerů v Aspose.Words:
| Markdown funkce | Aspose.Words |
|---|---|
Quote> quote,>> nested quote |
get_ParagraphFormat()->set_StyleName(u"Quote[some suffix]")přípona v názvu stylu je volitelná ,ale Aspose.Words dovozce používá seřazená čísla 1, 2, 3, …. v případě vnořených uvozovek. Vnoření je definováno pomocí zděděných stylů. |
BulletedList- Item 1- Item 2 - Item 2a - Item 2b |
Seznamy s odrážkami jsou reprezentovány pomocí číslování odstavců:get_ListFormat()->ApplyBulletDefault()mohou existovat 3 typy seznamů s odrážkami. Liší se pouze ve formátu číslování úplně první úrovně. Jsou to: ‘-’, ‘+’ nebo ‘*’. |
OrderedList1. Item 12. Item 21) Item 2a2) Item 2b |
Uspořádané seznamy jsou reprezentovány pomocí číslování odstavců:get_ListFormat()->ApplyNumberDefault()mohou existovat 2 značky formátu čísel: ‘.’ a ‘)’. Výchozí značka je ‘.’. |
Aspose.Words také umožňuje překládat tabulky do DOM, Jak je uvedeno níže:
| Markdown funkce | Aspose.Words |
|---|---|
Tablea|b-|-c|d |
Table, Row a Cell třídy. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.