Переклад Markdown до Document Object Model (Українська)DOMй
Щоб программатично читати, маніпулювати і змінювати зміст і форматування документа, потрібно перевести його до Aspose.Words Document Object Model (Українська)DOM).
На відміну від документів Word, Markdown не відповідає DOM описано в Aspose.Words Document Object Model (DOM) стаття. Однак Aspose.Words забезпечує власний механізм перетягування Markdown документи DOM і назад, так що ми можемо успішно працювати з елементами, такими як форматування тексту, таблиці, заголовки та інші.
Ця стаття пояснює, як різні markdown функції можна перекласти в Aspose.Words DOM і назад Markdown Формат.
Складність перекладу Markdown до DOM до Markdown
Основна складність цього механізму не тільки для перекладу Markdown до DOM, але також зробити зворотну трансформацію – зберегти документ назад до Markdown формат з мінімальною втратою. Є елементи, такі як багаторівневі котирування, для яких зворотна трансформація не тривіально.
Ми можемо самі зателефонувати одержувачу і узгодити зручний час і місце вручення квітів. Markdown документ, але також створити власний документ у Markdown формат з оригінальною структурою з нуля. Щоб створити різні елементи, потрібно використовувати стилі з певними назвами відповідно до певних правил, описаних пізніше в цій статті. Такі стилі можуть бути створені тематично.
Переклад Принципи
Ми використовуємо Font форматування для вбудованих блоків. Коли немає прямого листування Markdown в наявності Aspose.Words DOM, Ми використовуємо стиль персонажа з назвою, яка починається з деяких спеціальних слів.
Для контейнерних блоків ми використовуємо стиль спадкування, щоб викинути Markdown особливості. У цьому випадку, навіть якщо немає непристойних функцій, ми також використовуємо абзац стилі з назвою, яка починається з деяких спеціальних слів.
Булетні та замовлені списки є контейнерними блоками в Markdown і Їх гніздування представлена в DOM так само, як і для всіх інших контейнерних блоків з використанням стильного спадкування. Тим не менш, додатково, списки в DOM відповідати формату номеру в стилі список або форматування абзаців.
Внутрішні блоки
Ми використовуємо Font форматування при перекладі Bold, Italic або ~ ~ Розгортання ~ ~ inline markdown особливості.
Markdown Головна | Aspose.Words | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bold{1} |
Font.Bold = true |
||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||
Italic*italic text* |
Font.Italic = true |
||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||
Strikethrough~Strikethrough text~ |
Font.StrikeThrough = true |
||||||||||||||
|
Ми використовуємо стиль персонажа з назвою, яка починається з слова InlineCode
, > далі за бажанням (.)
і ряд бектики (`)
для InlineCode
функція. Якщо пропущено ряд спандексів, то один задняк буде використовуватися за замовчуванням.
Markdown Головна | Aspose.Words | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
InlineCode{1} |
Font.StyleName = “InlineCode[.][N]” |
||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||||||
Autolink<scheme://domain.com> <email@domain.com> |
Про нас FieldHyperlink клас | ||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||||||
Link{1} {2} {3} {4}) |
Про нас FieldHyperlink клас | ||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||||||
Image{1} {2} {3} {4}) |
Про нас Shape клас | ||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Блоки контейнерів
Документ є послідовністю контейнерних блоків, таких як заголовки, абзаци, списки, котирування та інші. Контейнерні блоки можна розділити на 2 класи: Листові блоки та складні контейнери. Блоки Leaf можуть містити лише інлайн. Комплексні контейнери, в свою чергу, можуть містити інші контейнерні блоки, в тому числі блоки Leaf.
Листові блоки
Таблиця нижче показує приклади використання Markdown Листові блоки в Aspose.Words:
Markdown Головна | Aspose.Words | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HorizontalRule----- |
Це простий абзац з відповідною формою HorizontalRule:DocumentBuilder.InsertHorizontalRule() |
||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||
ATX Heading# H1, ## H2, ### H3… |
ParagraphFormat.StyleName = "Heading N" , де (1<= N <=9).Це перекладається в вбудований стиль і має бути саме з зазначеного шаблону (не суфікси або префікси допускаються). В іншому випадку це буде просто звичайний абзац з відповідним стилем |
||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||
Setext Heading=== (якщо рівень заголовка 1),--- (якщо рівень заголовка 2) |
ParagraphFormat.StyleName = “SetextHeading[some suffix]” , на основі ‘Heading N’ стиль.Якщо (N >= 2), то ‘Heading 2’ буде використовуватися, інакше ‘Heading 1’й Допускається будь-який suffix, але Aspose.Words імпортер використовує номери “1” та “2” відповідно |
||||||||||||||||||||||
|
|||||||||||||||||||||||
Indented Code | ParagraphFormat.StyleName = “IndentedCode[some suffix]” |
||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||
Fenced Code
|
ParagraphFormat.StyleName = “FencedCode[.][info string]” Про нас [.] і [info string] необов’язково |
||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Комплексні контейнери
Таблиця нижче показує приклади використання Markdown Комплексні контейнери в Aspose.Words:
Markdown Головна | Aspose.Words | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quote> quote, >> nested quote |
ParagraphFormat.StyleName = “Quote[some suffix]” Суфікс в назві стилю необов’язково, але Aspose.Words імпортер використовує замовлені номери 1, 2, 3, …. в разі необрізних котирування. Ведуться ведучі стилі |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
BulletedList- Item 1 - Item 2 - Item 2a - Item 2b |
Списки буклетів представлені за допомогою абзацу:ListFormat.ApplyBulletDefault() Ви можете бути 3 види бюлетенів. Вони розрізняються лише в форматі нумерації першого рівня. Це: ‘-’ , ‘+’ або ‘*’ відповідно |
||||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|||||||||||||||||||||||||||||
OrderedList1. Item 1 2. Item 2 1) Item 2a 2) Item 2b |
Замовлені списки представлені за допомогою абзаців:ListFormat.ApplyNumberDefault() Відмітки формату 2: “.” та “)” Маркувальник за замовчуванням “.” |
||||||||||||||||||||||||||||
|
Столи
Aspose.Words також дозволяє перевести таблиці в DOM, як показано нижче:
Markdown Головна | Aspose.Words |
---|---|
Table й |
б<br /> до |
|