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