Bir AI ajanının bir belge sayfasına bakmasını, metin dökümünü okuması yerine sağlayabilirsiniz. GroupDocs.Viewer.Mcp sunucusu bir PDF, Word, Excel veya PowerPoint dosyasının herhangi bir sayfasını PNG olarak render eder ve ajana döner, ve bunu yerel olarak makinenizde yapar:

report.pdf kaç sayfaya sahip? Son sayfayı göster.

Yapılandırma ve sorun giderme ile adım adım sürüm belgelerde bulunabilir: Bir AI ajanının belge sayfalarını görmesini nasıl sağlarsınız.

Gerçek belgelerde metin çıkarımı neden başarısız olur?

Bir metin çıkarıcı, karakterleri okuma sırasına göre döndürür. İki paragraf arasındaki çubuk grafiği, köşedeki “APPROVED” damgasını, bir fiyat tablosunun sütun düzenini veya tamamen karakter içermeyen taranmış bir sayfayı döndürmez. Bu çıktıya dayanan bir ajan, yalnızca yarısı görülen bir belge hakkında kendinden emin bir şekilde yanıt verir ve eksik yarı genellikle sorduğunuz bölümdür.

Çözüm daha iyi bir istem değil. Farklı bir girdi: sayfanın bir görüntüsü, görüntü girişi kabul eden bir modele verilir.

Yanlış yaklaşım: her şeyi bir metin çıkarıcıdan geçirmek

Yaygın varsayılan, belgeyi metne dönüştürmek, metni bağlam penceresine yapıştırmak ve sorular sormaktır. Düz yazı için çalışır. Ancak sahip olduğunuz herhangi bir belgede doğrulayabileceğiniz dört şekilde bozulur:

  • Düzen kaybolur, bu yüzden “toplam sağ sütunda mı?” sorusuna cevap verilemez.
  • Grafik ve diyagramlardaki şekiller kaybolur, çünkü bunlar çizilir, yazılmaz.
  • Damgalar, imzalar ve el yazısı kaybolur.
  • Tarama yapılmış bir PDF metin üretmez.

Bir model, belgeyi görmeden önce düşürülen bilgiyi onarmaz.

Doğru yaklaşım: PDF sayfasını LLM için bir görüntü olarak render etmek

render_page bir sayfayı PNG olarak render eder, görüntüyü ajana satır içi döndürür ve bir kopyasını <name>_page<N>.png olarak çıktı klasörünüze kaydeder. Sunucu PDF, DOCX, XLSX, PPTX, ODT, RTF, HTML, EML ve MSG dahil 170+ formatı destekler. Görüntü işleyebilen bir model daha sonra sayfayı sizin gördüğünüz şekilde görür.

Ajan sayfa numaralarını tahmin etmemeli, bu yüzden render_page ile get_view_info eşleştirir; bu, dosya türünü, sayfa sayısını ve her sayfanın boyutunu render etmeden döndürür. Üçüncü bir araç olan get_license_status ise aktif lisanslama modunu raporlar.

Claude, Cursor veya Copilot için sunucuyu nasıl çalıştırırım?

Docker görüntüsü kendi içinde bütünleşiktir:

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

.NET 10 SDK yüklü olduğunda, dnx GroupDocs.Viewer.Mcp --yes aynı sunucuyu Docker olmadan çalıştırır. Claude Desktop, Claude Code, Cursor, VS Code with GitHub Copilot, Windsurf ve diğer istemcilerde kaydedin; hub sayfası her biri için tam yapılandırmayı listeler. İstemci, sunucuyu bir alt süreç olarak başlatır ve standart giriş ve çıkış üzerinden iletişim kurar, bu yüzden gelen bir port ve güvenli bir uç nokta yoktur.

Örnek oturum

Bu, iki aracın belgelenen davranışlarından oluşturulmuş bir illüstrasyondur, yakalanmış bir ekran görüntüsü değildir.

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: ...

Görüntü, onu gösteren istemcilerde satır içi görünür. Metin yanıtı, ajanın sayfada gördüklerini tanımlamasıdır.

Ajan ne karar verir ve motor ne yapar?

Ajan, soruyu yanıtlayan sayfayı ve modelden ne sorulacağını belirler. Motor, kesin olması gereken kısmı yapar: dosyayı açmak, belgeyi sayfalara ayırdığı gibi sayfalara bölmek ve PNG üretmek. Model, sayfa düzenini tahmin etmek zorunda kalmaz, çünkü render edilmiş sayfayı alır.

Dürüst sınırlamalar

  • Değerlendirme modu. Lisans olmadan, render edilen sayfalar bir değerlendirme filigranı taşır ve sunucu süreci en fazla 15 belge açar. Filigran, sorduğunuz ayrıntıyı kapatabilir. Ajanı “Viewer sunucusu lisanslı mı?” diye sorarak get_license_status çağırmasını sağlayın, böylece okuduklarına güvenmeden önce.
  • Sadece PNG. Çıktı bir PNG görüntüsüdür; format seçeneği yoktur.
  • Sayfa numarası kontrolü yok. render_page son sayfadan sonraki bir sayfa numarasını reddetmez. Önce get_view_info ile sayıyı kontrol edin.
  • Model görüntü kabul etmelidir. Yalnızca metin modeliyle ajan hâlâ kaydedilen dosya yolunu alır, ancak sayfada ne olduğunu söyleyemez.
  • Görüntüler büyüktür. Her sayfa satır içi bir PNG’dir, genellikle birkaç yüz kilobayt. Görevin ihtiyaç duyduğu sayfaları render edin, tüm dosyayı değil.
  • Bir şey makineden çıkar. Render edilen görüntü ajana gider ve oradan kullandığı modele iletilir. Yerel olarak barındırılan bir model her şeyi makinede tutar.

SSS

Claude PDF sayfamı ve düzenini görebilir mi? Evet, PDF sayfası bir görüntüye render edilirse ve kullanılan Claude modeli görüntü girişini kabul ediyorsa. render_page bu görüntüyü yerel olarak üretir ve istemciye döndürür.

Render etmek için belgeyi bir yere yüklemem gerekiyor mu? Sunucu, bağladığınız klasörden dosyayı okur ve görüntüyü yanına yazar; belge sunucu tarafından yüklenmez. Sayfa görüntüsü ajanın modeline gider.

Sadece PDF değil, Excel ve PowerPoint için de çalışıyor mu? Evet. PowerPoint her slayt için bir görüntü render eder ve Excel sayfaları sayfalara bölünür, sayım get_view_info ile görülebilir.

Daha derine