אתה יכול לאפשר לסוכן AI להסתכל על דף של מסמך במקום לקרוא את פלט הטקסט שלו. שרת GroupDocs.Viewer.Mcp מציג כל דף של קובץ PDF, Word, Excel או PowerPoint כתמונה בפורמט PNG ומחזיר אותו לסוכן, והכל מתבצע מקומית במחשב שלך:

כמה דפים יש ל‑report.pdf? ואז הראה לי את האחרון.

הגרסה שלב‑אחר‑שלב עם תצורה ופתרון בעיות נמצאת בתיעוד: איך לאפשר לסוכן AI לראות דפי מסמך.

למה חילוץ טקסט נכשל במסמכים אמיתיים?

מחלץ טקסט מחזיר תווים בסדר הקריאה. הוא אינו מחזיר את תרשים העמודות בין שני פסקאות, את החותמת “APPROVED” בפינה, את פריסת העמודות של טבלת מחירים, או דף שהוא סריקה ואין בו תווים כלל. סוכן העובד מהפלט הזה משיב בביטחון על מסמך שהוא ראה רק חצי, והחצי החסר הוא בדרך כלל החלק ששאלת עליו.

התיקון אינו בקשת שאלה משופרת. מדובר בקלט שונה: הדף כתמונה, שניתן למודל שמקבל קלט תמונה.

גישה שגויה: להעביר הכל דרך מחלץ טקסט

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

  • הפריסה נעלמת, ולכן לא ניתן לענות על “האם הסכום נמצא בעמודה הימנית?”
  • המספרים בתוך גרפים ותרשימים נעלמים, מכיוון שהם מצוירים, לא מוקלדים.
  • החותמות, החתימות והכתיבה הידנית נעלמות.
  • קובץ PDF סרוק אינו מספק טקסט.

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

גישה נכונה: להציג דף PDF כתמונה עבור ה‑LLM

render_page מציג דף אחד כ‑PNG, מחזיר את התמונה באופן משולב לסוכן ושומר עותק בתיקיית הפלט שלך בשם <name>_page<N>.png. השרת תומך ביותר מ‑170 פורמטים, כולל PDF, DOCX, XLSX, PPTX, ODT, RTF, HTML, EML ו‑MSG. מודל בעל יכולת ראייה רואה אז את הדף כפי שהיית רואה אותו.

הסוכן לא צריך לנחש מספרי דפים, ולכן הוא משלב את render_page עם get_view_info, שמחזיר את סוג הקובץ, מספר הדפים ואת הגודל של כל דף מבלי לבצע רינדור. כלי שלישי, get_license_status, מדווח על מצב הרישיון הפעיל.

איך מריצים את השרת עבור Claude, Cursor או Copilot?

תמונת Docker היא עצמאית:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-viewer/viewer-net-mcp:latest

עם ה‑.NET 10 SDK מותקן, dnx GroupDocs.Viewer.Mcp --yes מריץ את אותו השרת ללא Docker. רשום אותו ב‑Claude Desktop, Claude Code, Cursor, VS Code עם GitHub Copilot, Windsurf ולקוחות אחרים; דף המרכז מציג את התצורה המדויקת לכל אחד. הלקוח מפעיל את השרת כתהליך צאצא ומשוחח איתו דרך קלט ופלט סטנדרטיים, ולכן אין פורט נכנס ואין נקודת קצה לאבטחה.

דוגמת סשן

זוהי המחשה שנבנתה מהתנהגות המתועדת של שני הכלים, ולא צילומי מסך מתועדים.

You:   How many pages does report.pdf have? Then show me the last one.

Agent: [calls get_view_info on report.pdf]
       report.pdf is a PDF with 2 pages, both 612 x 792 points (US Letter).
       [calls render_page with page = 2]
       Page 2 of 'report.pdf' Saved to: <output folder>/report_page2.png
       Here is what page 2 shows: ...

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

מה הסוכן מחליט, ומה המנוע עושה?

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

מגבלות כנות

  • מצב הערכה. ללא רישיון, דפים מוצגים נושאים סימן מים של הערכה ותהליך השרת פותח לכל היותר 15 מסמכים. סימן המים יכול לכסות את הפרט המדויק שאתה שואל עליו. שאל את הסוכן “האם שרת הצופה מורשה?” כדי שיקרא get_license_status לפני שאתה סומך על מה שהוא קורא.
  • PNG בלבד. הפלט הוא תמונת PNG; אין אפשרות פורמט.
  • אין בדיקת מספר דף. render_page אינו דוחה מספר דף שמעבר לדף האחרון. בדוק את הספירה עם get_view_info תחילה.
  • המודל חייב לקבל תמונות. עם מודל טקסט‑אחד בלבד, הסוכן עדיין מקבל את נתיב הקובץ השמור, אך הוא אינו יכול לומר לך מה נמצא בדף.
  • תמונות גדולות. כל דף הוא PNG משולב, לעיתים כמה מאות קילובייטים. רנדר את הדפים שהמשימה דורשת, ולא את כל הקובץ.
  • דבר אחד יוצא מהמכונה. התמונה המוצגת נשלחת לסוכן ומשם לכל מודל שהוא משתמש בו. מודל המתארח מקומית משאיר את הכל במכונה.

שאלות נפוצות

האם Claude יכול לראות את דף ה‑PDF שלי ואת הפריסה שלו? כן, אם דף ה‑PDF מוצג כתמונה והמודל Claude שבשימוש מקבל קלט תמונה. render_page מייצר את התמונה מקומית ומחזיר אותה ללקוח.

האם עלי להעלות את המסמך לשום מקום כדי לרנדר אותו? השרת קורא את הקובץ מהתיקייה שאתה מחבר וכותב את התמונה לצידו; המסמך אינו מועלה על ידי השרת. תמונת הדף נשלחת למודל של הסוכן שלך.

האם זה עובד עבור Excel ו‑PowerPoint, ולא רק PDF? כן. PowerPoint מציג תמונה אחת לכל שקף, וגיליונות Excel מחולקים לעמודים, כאשר הספירה נראית דרך get_view_info.

להעמיק יותר