Перетворення документа в Markdown

Markdown є популярним форматом, який використовується для позначення тексту та його подальшого перетворення в HTML, PDF, DOCX або інші формати. Багато розробників вибирають цей формат для написання документації, підготовка статей до публікації на блогах, опис проектів, тощо.

Markdown є дуже популярним, тому що він легко працювати з цим форматом, а також він може бути досить просто перетворений на інші формати. З цієї причини, Aspose.Words надає можливість конвертувати документ у будь-який підтримуваний формат навантаження до Markdown і навпаки – Aspose.Words також підтримує найбільш популярні зберігати форматий

Тепер функціональність для роботи з Markdown Для зручності та комфортної роботи з документами активно розроблені формати.

Конвертувати документ

Для перетворення документа в Markdown, > Вам просто потрібно завантажити документ в будь-якому форматі підтримки або створити нову програму. Потім потрібно зберегти документ, щоб зберегти Markdown Формат.

Приклад наступного коду показує, як перетворити DOCX в 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 зберігає зображення в тій же папці, де збережено файл документа, але ви можете перевизначити цю поведінку за допомогою images_folder майно.

Вкажіть папку через images_folder також корисно, якщо ви зберігаєте документ на потік і Aspose.Words не має папки для збереження зображень.

Якщо зазначено images_folder не існує, він буде створений автоматично.

Приклад наступного коду показує, як вказати папку для зображень при збереженні документа в потік:

# 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)

Вкажіть параметри збереження при конвертації Markdown

Aspose.Words забезпечує можливість використання MarkdownSaveOptions клас для роботи з розширеними опціями при збереженні документа Markdown Формат. Більшість властивостей є спадковими або перевантажувальні властивості, які вже існують в інших країнах aspose.words.saving класи. Крім них, ряд властивостей, які специфічні для них Markdown Додано формат. Наприклад, table_content_alignment майно для управління вирівнюванням вмісту в таблицях або images_folder управляти де зберігаються зображення при конвертації документа в Markdown Формат.

Підтримувані Markdown Особливості

Aspose.Words В даний час ми підтримуємо наступні дії Markdown особливості, які переважно слідують CommonMark специфікація в Aspose.Words API і представлені як відповідні стилі або прямі форматування:

  • Заголовки є абзаци з заголовуванням 1 - Заголовок 6 стилів
  • Блокноти є абзаци з “Quote” в назві стилю
  • ВизначеніКод є абзаци з “IndentedCode” в назві стилю
  • Зареєстрований Код є абзаци з “FencedCode” в назві стилю
  • InlineCode працює з “InlineCode” в Font Назва стилю
  • Горизонтальні правила є абзаци з HorizontalRule форма
  • Золотий акцент
  • Цілий акцент
  • Форматування удару
  • Списки занурюються або приклеюються абзаци
  • Столи представлені з Table клас
  • Ім’я * Посилання представлені як FieldHyperlink клас

Наступний приклад показує, як створити документ з деякими стилями і зберегти його на 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")

Приклад даного коду показано нижче.

markdown-example-aspose-words-net

Корисні поради

Є кілька нюансів і цікавих випадків, які навчилися працювати з Markdown фото більш гнучко і зручно. Наприклад, існує можливість використання:

  • SetextHeading, що дозволяє створювати багатолінійні заголовки в Markdown, > при регулярних заголовках Markdown може бути тільки одноканальним. SetextHeading базується на стилі “Хайд Н” і його рівень може бути тільки 1 або 2. Якщо N в “Хайдінг N” більше або дорівнює 2, то відповідне SetextHeading базується на “Хайдинг 2”, інакше на “Хайдінг 1”.
  • Різні маркери для першого рівня бюлетенів ("-", “+” або “*”, маркер за замовчуванням - “-”.