Bir AI ajanı, bir belgeyi tek bir sayfa olarak render etmeden önce üç şey sormalıdır: kaç sayfa olduğu, her sayfanın ne kadar büyük olduğu ve bir şifreye ihtiyaç duyup duymadığı. GroupDocs.Viewer.Mcp sunucusu ilk ikisine tek bir ucuz çağrı (get_view_info) ile yanıt verir, bu çağrı makinenizde yerel olarak çalışır ve şifre sorusu istemde çözülür. Ajan daha sonra yalnızca önemli sayfaları render eder:
contract.docx nedir — kaç sayfa ve sayfa boyutu nedir?
Adım adım yapılandırma ve sorun giderme sürümü dokümantasyonda bulunabilir: Bir belgeyi render etmeden önce sayfalarını nasıl kontrol edersiniz.
Neden önce inceleme yapılmalı?
render_page aracının ürettiği her sayfa, ajanına satır içi bir PNG olarak geri döner, genellikle birkaç yüz kilobayt olur. Bir tablo bulmak için 60 sayfalık bir dosyayı render eden bir ajan, ihtiyacı olmayan 59 görüntü için zaman ve bağlam penceresi harcar. İnceleme aracı get_view_info hiçbir şey render etmez. Küçük bir JSON nesnesi döndürür, böylece neyin render edileceği kararı tahminler yerine gerçeklere dayanır.
Bu desen herhangi bir istemcide yeniden kullanılabilir: Claude Desktop, Claude Code, Cursor, GitHub Copilot veya Windsurf ile VS Code. Bu, yapılandırdığınız bir özellik değil, isteme koyduğunuz bir alışkanlıktır.
Soru 1: Kaç sayfa var?
get_view_info pageCount değerini döndürür. Bu, belgelenmiş bir keskin kenara karşı tek korumadır: render_page sayfa numarasını belgeye karşı kontrol etmez. 12 sayfalık bir dosyada 40. sayfayı isteyin ve hâlâ <name>_page40.png olarak kaydedilen, 40. sayfa olmayan bir görüntü alırsınız.
Bu korumayı oluşturan bir istem:
Rapor kaç sayfadan oluşuyor? Son sayfayı göster.
Elektronik tablolar için sayı daha da önemlidir. Motor bir sayfayı sayfalara böler ve sayı, sayfanın göründüğünden çok daha büyük olabilir. İlk başta bunu bilmek, ajanın hepsini render etmesini önler.
Soru 2: Her sayfanın boyutu nedir?
Bu PDF’deki sayfaların boyutu nedir — Letter mı A4 mü?
Yanıt, her sayfa için number, width ve height değerlerini puan cinsinden listeler. 612 x 792 US Letter; yaklaşık 595 x 842 A4’tir. Dikey sayfalar arasında bir yatay sayfa içeren bir belge, bu boyutlarda gösterilir ve bu sayfa genellikle birinin sorduğu tablo ya da çizimdir.
Formatta mevcut olduğu yerlerde, örneğin çalışma sayfası adları ve gizli slaytlar veya sayfalar gibi, iki başka alan olan name ve visible doldurulur. Aksi takdirde bunlar null ve true olur.
Soru 3: Dosyanın bir şifreye ihtiyacı var mı?
get_view_info koruma alanına sahip değildir, bu yüzden dosya türü ve sayfa sayısı bir şifreye ihtiyaç olup olmadığını söylemez. Şifre korumalı bir dosya, her iki araca da yapılan her çağrıda şifresini ister. Bunu istemde önceden verin:
contract.pdf için şifre mesajımda bulunuyor. Kaç sayfa olduğunu kontrol et, ardından 2. sayfayı göster.
Şifre olmadan çağrı başarısız olur ve ajan tahmin etmek yerine sizden şifre isteyebilir. Çağrı başarısız olursa, get_view_info View-info lookup failed for ile başlayan bir metin, ardından istisna türü ve mesajı döndürür; böylece ajan nedeni okuyup şifreyi ya da doğru dosya adını sorabilir.
Yeniden kullanılabilir incele-sona-render istemi
Aşağıda adı verilen dosyadan herhangi bir şey render etmeden önce, dosya türünü, sayfa sayısını ve sayfa boyutlarını kontrol edin. Bulduklarınızı bana söyleyin, ardından soruma cevap vermek için gereken sayfaları sadece render edin. Dosya: contract.docx. Soru: fesih maddesi nerede?
Ajan get_view_info çağırır, dosya türünü ve sayfa sayısını rapor eder, sayfaları seçer ve her biri için render_page çağırır. get_license_status aracı sunucudaki üçüncü araçtır; render edilen sayfaların filigranlı olup olmadığını bilmeniz gerektiğinde kullanın.
Örnek oturum
Belgelendirilmiş yanıt biçimine dayalı bir illüstrasyon, yakalanmış bir ekran görüntüsü değil.
You: Inspect report.pdf before rendering anything.
Agent: [calls get_view_info on report.pdf]
report.pdf: Portable Document Format File (.pdf), 2 pages.
Page 1: 612 x 792 points (US Letter). Page 2: 612 x 792 points.
Which page would you like me to render?
Ajan ne karar veriyor, motor ne yapıyor?
| Adım | Ajan | Motor |
|---|---|---|
| Dosyayı seç | İsteminizden dosya adını alır | Depolama klasöründe çözer, ad eşleşmezse mevcut dosyaları listeler |
| İncele | Hangi soruların önemli olduğuna karar verir | Dosya türünü, sayfa sayısını ve sayfa boyutlarını döndürür |
| Sayfaları seç | Sorunuzu sayfa numaralarına eşler | Hiçbir şey |
| Render et | Seçilen her sayfa için render_page çağırır |
PNG üretir |
Dürüst sınırlamalar
- Değerlendirme modu. Render edilen sayfalar bir değerlendirme filigranı taşır ve bir sunucu işlemi en fazla 15 belge açar. Çıktıya güvenmeden önce ajanın
get_license_statusçağırması için “Viewer sunucusu lisanslı mı?” sorun. - Sayfa sayısı sizin için sayfaları seçmez.
get_view_infohangi sayfaların mevcut olduğunu söyler, hangisinin cevabı içerdiğini değil. Bunun için bir içerik sayfası ya da birkaç aday render edin. - Sadece PNG.
render_pageüzerinde format seçeneği yoktur.
SSS
Bir AI ajanı bir PDF’in sayfa sayısını nasıl alabilir? Viewer sunucusu bağlıysa, Claude get_view_info çağırabilir ve pageCount değerini render etmeden okuyabilir. Cevap belgeden gelir, tahmin değil.
Bir belge bilgisi MCP aracı ajana hangi sayfaları render edeceğini söyleyebilir mi? Evet. Önce sayfa sayısını ve boyutlarını verin, ardından ne aradığınızı söyleyin. Soruya cevap veren sayfaları render eder.
Bir belgeyi incelemek onu bir yere yüklüyor mu? Hayır. Sunucu, yapılandırdığınız klasörden dosyayı okur ve istemcinize küçük bir JSON nesnesi döndürür.
Daha derine in
- Dokümantasyon, kanonik nasıl yapılır: Bir belgeyi render etmeden önce sayfalarını nasıl kontrol edersiniz
- Dokümantasyon merkezi: GroupDocs.Viewer MCP Server
- Buradan başlayın: Multimodal ajanlar sadece metin değil, piksellere de ihtiyaç duyar
- İlgili: Raporlar için MCP ile ekran görüntüsü kalitesinde sayfa görüntülerini otomatikleştirin
- İlgili: Cevap grafikte olduğunda: AI ajanlarının diyagramları ve taramaları MCP üzerinden okuması
- Yerinde ve güvenlik modeli: AI belge işleme için 3 mimari ve dosyaları ağınız içinde tutan mimari
- Sorular: GroupDocs Viewer forum
- Kaynak: GroupDocs.Viewer.Mcp on GitHub