הביאו את המסמכים שלכם לצינורות AI — ישירות מ‑Python, במקומי, עם פקודת pip install אחת.

היום אנו משחררים את הגרסה הציבורית הראשונה של GroupDocs.Markdown עבור Python דרך .NET ב‑PyPI. הספרייה ממירה PDF, Word, Excel, EPUB ועוד 20+ פורמטים נוספים ל‑Markdown נקי ותחבירי — הפורמט שבו LLMs, צינורות RAG, ומחוללי אתרי סטטיים עובדים בצורה הטובה ביותר.

אם עקבתם אחרי הגרסה של .NET משספטמבר (או את שדרוג ה‑API המלא ב‑26.3), ההיגיון זהה: עיצוב המסמך נושא משמעות, ושמירה על המבנה המשמעותי היא מה שמאפשר למערכת RAG לתת תשובות טובות. הפוסט הקודם מכסה את הבעיה (OCR משטחים את המבנה, LLMs צריכים Markdown) ו‑את הפתרון (מעבד DOM שמטייל במסמך ופולט Markdown) בפירוט — לא נחזור על הסיפור כאן.

במקום זאת, נתרכז במה שחדש למפתחים ב‑Python.


What you get

  • גלגל יחיד, ללא תלות בזמן ריצה. pip install groupdocs-markdown-net מוריד גלגל עצמאי שמאגד את סביבת הריצה של .NET ואת כל הספריות הטבעיות שהוא צריך. אין צורך בהתקנת dotnet, אין צורך ב‑Microsoft Office, אין צורך ב‑Adobe Acrobat, ואין צורך בשירותי ענן.
  • 跨平台. Windows x64/x86, Linux x64, macOS x64 ו‑Apple Silicon (ARM64). Python 3.5 עד 3.14.
  • API פייתוני. שמות מחלקות ב‑PascalCase, שיטות ו‑properties ב‑snake_case, ערכי enum ב‑UPPER_SNAKE_CASE. מנהלי הקשר משחררים מסמכים טעונים באופן דטרמיניסטי.
  • אכן אסינכרוני. לכל שיטה סטטית ולא סטטית יש מקביל _async. קריאת קבצים היא אסינכרונית והמרה שמצריכה CPU רצה על שרשור עובד — לולאת האירועים asyncio שלכם נשארת פנויה.
  • ידידותי לסוכני AI. הגלגל המותקן כולל קובץ AGENTS.md כך שעוזרי קוד (Claude Code, Cursor, GitHub Copilot, Codex) מגלים אוטומטית את משטח ה‑API, תבניות שימוש אידיאומטיות, וטיפים לפתרון בעיות. התיעוד מתפרסם גם כ‑llms.txt, קורפוס קובץ יחיד (llms-full.txt), Markdown לכל עמוד, ושרת MCP — ראו את AI-friendly by design למטה לפרטים.

Get started

pip install groupdocs-markdown-net

המרה הפשוטה ביותר היא שורה אחת:

from groupdocs.markdown import MarkdownConverter

# המרה למחרוזת
md = MarkdownConverter.to_markdown("business-plan.docx")

# או כתיבה ישירה לקובץ
MarkdownConverter.to_file("business-plan.docx", "business-plan.md")

זהו — ללא קונפיגורציה, ללא אפשרויות, ללא קוד מיותר. מצב ההערכה מעבד את שלושת העמודים הראשונים ומוסיף סימן מים. כדי להסיר את המגבלות, החליקו רישיון:

from groupdocs.markdown import License

License().set_license("path/to/license.lic")

או הגדירו GROUPDOCS_LIC_PATH כמשתנה סביבתי והוא יוחל אוטומטית בעת הייבוא.


Supported formats

חבילת ה‑Python מטפלת באותו מגוון פורמטים כמו ספריית .NET:

  • PDF.pdf
  • Word / Rich Text.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott
  • Spreadsheets.xls, .xlsx, .xlsb, .xlsm, .csv, .tsv, .ods, .ots
  • eBooks.epub, .mobi
  • Text / Markup / Help.txt, .xml, .chm

Pythonic examples

אפשרויות המרה ואסטרטגיות תמונה

from groupdocs.markdown import (
    MarkdownConverter,
    ConvertOptions,
    MarkdownFlavor,
    ExportImagesToFileSystemStrategy,
)

strategy = ExportImagesToFileSystemStrategy("output/images")
strategy.images_relative_path = "images"  # ![](images/img-001.png)

options = ConvertOptions()
options.flavor = MarkdownFlavor.GIT_HUB
options.heading_level_offset = 1      # # Title -> ## Title
options.include_front_matter = True    # prepend YAML metadata
options.image_export_strategy = strategy

MarkdownConverter.to_file("report.docx", "output/report.md", convert_options=options)

בדיקת מסמך ללא המרה

from groupdocs.markdown import MarkdownConverter

info = MarkdownConverter.get_info("business-plan.docx")
print(f"{info.file_format}, {info.page_count} pages, author: {info.author}")

טעינת קובץ מוגן בסיסמה

from groupdocs.markdown import MarkdownConverter, LoadOptions, FileFormat

load_opts = LoadOptions(FileFormat.DOCX)
load_opts.password = "secret"

MarkdownConverter.to_file("protected.docx", "output.md", load_options=load_opts)

זרמים ומנהלי הקשר

from groupdocs.markdown import MarkdownConverter

with open("document.docx", "rb") as stream:
    with MarkdownConverter(stream) as converter:
        converter.convert("document.md")

API אסינכרוני — המרת מסמכים מרובים במקביל

מאחר שה‑I/O של קבצים הוא אסינכרוני, asyncio.gather() מאפשר לעובד יחיד לעבד מסמכים רבים ללא חסימה:

import asyncio
from groupdocs.markdown import MarkdownConverter

async def convert_many():
    await asyncio.gather(
        MarkdownConverter.to_file_async("a.docx", "a.md", None),
        MarkdownConverter.to_file_async("b.pdf",  "b.md", None),
        MarkdownConverter.to_file_async("c.xlsx", "c.md", None),
    )

asyncio.run(convert_many())

זה עושה את הספרייה מתאימה באופן טבעי למסגרות ASGI כמו FastAPI — עובד יחיד יכול לשרת בקשות המרה מרובות במקביל ללא תחרות על שרשורים.

טיפול בשגיאות

כל שיטות ההמרה זורקות חריגה במקרה של כשל, עם סוגי חריגה ספציפיים לתרחישים נפוצים:

from groupdocs.markdown import (
    MarkdownConverter,
    DocumentProtectedException,
    InvalidFormatException,
    GroupDocsMarkdownException,
)

try:
    MarkdownConverter.to_file("annual-report.docx", "annual-report.md")
except DocumentProtectedException:
    print("Wrong or missing password.")
except InvalidFormatException:
    print("File is corrupt or unsupported.")
except GroupDocsMarkdownException as ex:
    print(f"Conversion failed: {ex}")

Built for RAG and LLM pipelines

Markdown הוא פורמט הקלט המועדף למודלים של הטמעה וצינורות אחזור — הוא משמר כותרות, רשימות, טבלאות והדגשות תוך שהוא קל לחיתוך וטוקניזציה. תהליך קלט טיפוסי ל‑RAG נראה כך:

import re
from groupdocs.markdown import MarkdownConverter, ConvertOptions, SkipImagesStrategy, MarkdownFlavor

options = ConvertOptions()
options.image_export_strategy = SkipImagesStrategy()   # טקסט בלבד ל‑RAG
options.flavor = MarkdownFlavor.COMMON_MARK

MarkdownConverter.to_file("business-plan.pdf", "business-plan.md", convert_options=options)

with open("business-plan.md", "r", encoding="utf-8") as f:
    markdown = f.read()

# פיצול לפי כותרות ברמה העליונה, ואז הטמעה/אינדקס של כל חלק
chunks = [c for c in re.split(r"\n#{1,2} ", markdown) if c.strip()]

מאחר שהספרייה פועלת לחלוטין במקומי, מסמכים רגישים לעולם לא עוזבים את הסביבה שלכם — דרישה נפוצה לתעשיות מפוקחות, צוותי משפט, ובסיסי ידע פנימיים.


AI-friendly by design

רוב SDK‑ים של Python מתייחסים לעוזרי קוד AI כאל תוספת אחרי‑העבודה — המפתח עדיין צריך להפנות את הסוכן לתיעוד, להדביק דוגמאות, או לתקן באגים דרך ניסוי וטעייה. GroupDocs.Markdown עבור Python דרך .NET הופך זאת: הספרייה נבנית כך שסוכנים כמו Claude Code, Cursor, GitHub Copilot, ו‑Codex יכולים לקלוט אותה ללא שום הגדרה ידנית.

AGENTS.md נשלח בתוך הגלגל

זו החבילה הראשונה של GroupDocs שמאגדת קובץ AGENTS.md ישירות בתוך הגלגל המותקן. הקובץ עומד על קונבנציית AGENTS.md המתפתחת — README בפורמט Markdown פשוט שנכתב במיוחד עבור עוזרי קוד AI ולא עבור בני אדם.

כאשר אתם מריצים pip install groupdocs-markdown-net, קובץ נופל ב‑:

site-packages/groupdocs/markdown/AGENTS.md

עוזר AI הפותח את הפרויקט שלכם יכול לקרוא אותו וללמוד מייד:

  • את משטח ה‑API הציבורי המלא (מחלקות, שיטות, enums, חריגות) ואת הקשרים ביניהם.
  • תבניות שימוש אידיאומטיות לתרחישים הנפוצים ביותר — API סטטי מול מופע, סינכרוני מול אסינכרוני, אסטרטגיות תמונה, front matter, טיפול בשגיאות.
  • מלכודות נפוצות וכיצד להימנע מהן — לדוגמה, אילו עומסי ConvertOptions מקבלים None, איך להתמודד עם קבצים מוגנים בסיסמה, איך ללכוד אזהרות המרה.
  • פתרון בעיות לבעיות ספציפיות לפלטפורמה (libSkiaSharp ב‑macOS, ICU ב‑Linux).

בפועל משמעות הדבר היא שאתם יכולים לומר “השתמש ב‑groupdocs-markdown-net כדי להמיר את תיקיית ה‑PDFs שלי ל‑Markdown עבור צינור RAG” והסוכן יכתוב קוד עובד כבר בפעם הראשונה — ללא שמות שיטות מדומים, ללא סדר ארגומנטים שגוי, ללא ייבוא משוער.

תיעוד קריא למכונה

לסוכנים שצריכים לבדוק משהו שלא נמצא ב‑AGENTS.md, התיעוד המלא של המוצר מתפרסם גם בצורת קריאה למכונה:

  • קורפוס קובץ יחיד — כל המסמכים בקובץ Markdown מאוחד אחד, מוכן להטמעה בחלון הקשר של סוכן: https://docs.groupdocs.com/markdown/python-net/llms-full.txt
  • Markdown לכל עמוד — הוסיפו .md לכל כתובת URL של תיעוד כדי לקבל את המקור הגולמי: https://docs.groupdocs.com/markdown/python-net/quick-start-guide.md
  • אינדקס llms.txt — טבלת תוכן בסגנון llms.txt שמפנה סוכנים לעמודים הרלוונטיים: https://docs.groupdocs.com/markdown/python-net/llms.txt

שרת MCP לחיפושי תיעוד בזמן אמת

לסוכנים שמדברים Model Context Protocol, אנו מציעים את המסמכים כשרת MCP. הוסיפו זאת לקונפיגורציית Claude Code או Cursor שלכם:

{
  "mcpServers": {
    "groupdocs-docs": {
      "url": "https://docs.groupdocs.com/mcp"
    }
  }
}

לאחר מכן, הסוכן שלכם יכול לשאול את התיעוד לפי דרישה במקום להסתמך על נתוני אימון שיכולים להיות מיושנים.

Markdown כניסה, Markdown יציאה

קיימת סימטריה נעימה כאן: פלט הספרייה הוא Markdown — הפורמט שה‑LLMs מפענחים בצורה הטובה ביותר עבור RAG — ו‑התיעוד שלה הוא גם Markdown, מוגש כקובץ יחיד לצריכת חלון הקשר. בין אם אתם מבקשים מסוכן לכתוב קוד שמשתמש בספרייה, ובין אם אתם מבקשים מסוכן להבין את המסמכים שלכם דרך הספרייה, Markdown הוא המדיה המשותפת.


Export Example

הקטעים שלמעלה קרובים לתוכנית הקצרה והשימושית ביותר שניתן לכתוב עם הספרייה. הנה אותה רעיון ארוז כפרויקט שניתן להריץ — מסמך מקור, סקריפט Python, פלט שנוצר מראש, requirements.txt, ו‑Dockerfile — כך שתוכלו לנסות מקצה לקצה ללא כתיבת קוד מאפס.

קובץ DOCX מקור

קובץ המקור business-plan.docx הוא תכנית עסקית קצרה ועשירה בפורמט, עם כותרות, טבלאות, תמונות, ו‑metadata.

סקריפט Python

from groupdocs.markdown import MarkdownConverter, ConvertOptions, MarkdownFlavor

def quick_example():
    """Convert a Word document to Markdown with GitHub flavor and YAML front matter."""

    # One-liner — returns a Markdown string
    md = MarkdownConverter.to_markdown("business-plan.docx")

    # With options — writes to a file
    options = ConvertOptions()
    options.flavor = MarkdownFlavor.GIT_HUB
    options.include_front_matter = True
    options.heading_level_offset = 1
    MarkdownConverter.to_file("business-plan.docx", "quick-example.md", convert_options=options)

if __name__ == "__main__":
    quick_example()

Markdown פלט

הקובץ quick-example.md מתחיל בחלק front‑matter של YAML שנשלף אוטומטית ממטא‑הנתונים של המסמך, ולאחריו התוכן המומר עם טבלאות בפורמט GitHub Flavored והיררכיית כותרות מוזזת (מוכן להטמעה במסמך גדול יותר).

אפליקציית דוגמה ניתנת להרצה

הכל ארוז יחד: sample-app.zip. חלצו, ואז:

cd src
python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -r requirements.txt
python quick_example.py

או הריצו ב‑Docker — ה‑Dockerfile המוכלל מגדיר את תלות ה‑ICU שה‑runtime של .NET המובא דורש ב‑Linux:

cd src
docker build -t groupdocs-markdown-python-example .
docker run --rm -v "$(pwd)/output:/app/output" groupdocs-markdown-python-example

Summary

GroupDocs.Markdown עבור Python דרך .NET מביא את מנוע ההמרה המלא של מסמך‑ל‑Markdown ל‑Python כגלגל עצמאי — ללא runtime חיצוני, ללא ענן, ללא הפתעות. API פייתוני, תמיכה אסינכרונית, ושילוב כלי AI ברמה ראשונה הופכים אותו לבחירה פרקטית לצוותי Python הבונים מערכות RAG, מחוללי אתרי סטטיים, או צינורות עיבוד מסמכים.


Learn more


Support & feedback

לשאלות או סיוע טכני, אנא השתמשו ב‑Free Support Forum — נשמח לעזור.