动态

详情 返回 返回

Python轉換Word文檔為Markdown格式 - 动态 详情

Markdown作為一種輕量級標記語言,以其簡潔的語法和廣泛的兼容性,特別適合用於博客、技術文檔和版本控制系統中的內容管理。而Word文檔則因其強大的排版功能,常常成為文檔製作的首選。然而,直接使用Word格式在某些平台上可能顯得過於複雜,或缺乏靈活性。使用Python將Word文檔批量轉換為Markdown格式,不僅可以簡化內容結構,還能提高文檔的可移植性和可維護性。本文將介紹如何使用Python將Word文檔轉換為Markdown文件

  • 用Python將Word文檔轉換為Markdown格式
  • 移除圖片並將Word文檔轉換為Markdown格式

本文使用的方法需要用到Spire.Doc for Python,PyPI:pip install spire.doc

申請免費License

用Python將Word文檔轉換為Markdown格式

我們可以使用Document.LoadFromFile()方法從指定文件路徑載入Word文檔,然後直接使用Document.SaveToFile(fileName: str, FileFormat.Markdown)方法將其轉換為Markdown格式並保存。以下是操作步驟示例:

  1. 導入所需模塊: DocumentFileFormat
  2. 創建Document實例。
  3. 使用Document.LoadFromFile()方法從指定文件路徑載入Word文檔。
  4. 使用Document.SaveToFile()方法將其轉換為Markdown格式並保存。
  5. 釋放資源。

代碼示例

from spire.doc import Document, FileFormat

# 創建Document對象
doc = Document()

# 載入Word文檔
doc.LoadFromFile("Sample.docx")

# 將文檔轉換為Markdown格式並保存為文件
doc.SaveToFile("output/WordToMarkdown.md", FileFormat.Markdown)
doc.Dispose()

原Word文檔
Python轉換Word到Markdown

轉換結果
Python轉換Word為Markdown

移除圖片並將Word文檔轉換為Markdown格式

由於直接轉換Word文檔到Markdown文件時,圖片會以Base64編碼方式儲存在Markdown代碼中,可能會導致轉換出的文件過大或平台不支持Base64編碼的情況。因此,我們可能需要在轉換之前先移除圖片以保證兼容性,之後再以鏈接的形式將圖片插入到Markdown代碼中。以下是操作步驟示例:

  1. 導入所需模塊: DocumentFileFormat
  2. 創建Document實例。
  3. 使用Document.LoadFromFile()方法從指定文件路徑載入Word文檔。
  4. 依次遍歷文檔中的節、節中的段落、段落中的子對象,然後判斷子對象是否為DocPicture的實例。如果是,則使用Paragraph.ChildObjects.Remove()方法將其移除。
  5. 使用Document.SaveToFile()方法將其轉換為Markdown格式並保存。
  6. 釋放資源。

代碼示例

from spire.doc import Document, FileFormat, DocPicture

# 創建Document對象
doc = Document()

# 載入Word文檔
doc.LoadFromFile("Sample.docx")

# 遍歷文檔中的所有節
for i in range(doc.Sections.Count):
    section = doc.Sections.get_Item(i)
    # 遍歷節中的所有段落
    for j in range(section.Paragraphs.Count):
        para = section.Paragraphs.get_Item(j)
        # 遍歷段落中的所有文檔對象
        for k in range(para.ChildObjects.Count):
            obj = para.ChildObjects.get_Item(k)
            # 如果文檔對象是文本,則替換文本
            if isinstance(obj, DocPicture):
                # 移除圖片
                para.ChildObjects.Remove(obj)

# 將文檔轉換為Markdown格式並保存為文件
doc.SaveToFile("output/WordToMarkdownNoImage.md", FileFormat.Markdown)
doc.Dispose()

轉換結果
Python移除圖片轉換Word為Markdown

本文介紹瞭如何使用Python將Word文檔轉換為Markdown文件。

user avatar luanzun 头像
点赞 1 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.