Seorang agen AI harus menanyakan tiga hal kepada dokumen sebelum merender satu halaman: berapa banyak halaman yang dimilikinya, seberapa besar setiap halaman, dan apakah diperlukan kata sandi. Server GroupDocs.Viewer.Mcp menjawab dua hal pertama dengan satu panggilan murah (get_view_info), dijalankan secara lokal di mesin Anda, dan pertanyaan kata sandi diselesaikan dalam prompt. Agen kemudian merender hanya halaman yang penting:

Apa itu contract.docx — berapa banyak halaman, dan berapa ukuran halamannya?

Versi langkah demi langkah dengan konfigurasi dan pemecahan masalah ada di dokumentasi: How to check a document’s pages before rendering them.

Mengapa memeriksa terlebih dahulu?

Setiap halaman yang dihasilkan oleh alat render_page kembali ke agen sebagai PNG inline, seringkali beberapa ratus kilobyte. Agen yang merender file 60 halaman untuk menemukan satu tabel membayar untuk 59 gambar yang tidak dibutuhkannya, baik dalam waktu maupun jendela konteks. Alat inspeksi, get_view_info, tidak merender apa pun. Ia mengembalikan objek JSON kecil, sehingga keputusan tentang apa yang akan dirender dibuat berdasarkan fakta, bukan tebakan.

Pola ini dapat digunakan kembali di klien mana pun: Claude Desktop, Claude Code, Cursor, VS Code dengan GitHub Copilot atau Windsurf. Ini adalah kebiasaan yang Anda masukkan dalam prompt, bukan fitur yang Anda konfigurasikan.

Pertanyaan 1: Berapa banyak halaman yang ada?

get_view_info mengembalikan pageCount. Ini satu-satunya perlindungan terhadap tepi tajam yang terdokumentasi: render_page tidak memeriksa nomor halaman terhadap dokumen. Meminta halaman 40 dari file 12 halaman dan Anda masih menerima gambar, disimpan sebagai <name>_page40.png, dari halaman yang bukan halaman 40.

Prompt yang membangun perlindungan tersebut:

Berapa banyak halaman yang dimiliki laporan? Kemudian tunjukkan halaman terakhir.

Untuk spreadsheet, hitungan ini menjadi lebih penting. Mesin memecah lembar menjadi halaman, dan jumlahnya dapat jauh lebih besar daripada yang terlihat pada lembar. Mengetahuinya terlebih dahulu mencegah agen merender semuanya.

Pertanyaan 2: Berapa ukuran setiap halaman?

Berapa ukuran halaman dalam PDF ini — Letter atau A4?

Respons menampilkan number, width, dan height untuk setiap halaman, dalam poin. 612 × 792 adalah US Letter; sekitar 595 × 842 adalah A4. Dokumen dengan satu halaman lanskap di antara halaman potret menampilkannya dalam ukuran, dan halaman tersebut seringkali adalah tabel atau gambar yang diminta.

Dua bidang lain, name dan visible, diisi bila formatnya memiliki, misalnya nama lembar kerja dan slide atau lembar tersembunyi. Jika tidak, nilainya null dan true.

Pertanyaan 3: Apakah file memerlukan kata sandi?

get_view_info tidak memiliki bidang perlindungan, jadi tipe file dan jumlah halaman tidak memberi tahu Anda apakah diperlukan kata sandi. File yang dilindungi kata sandi memerlukan kata sandinya pada setiap panggilan, ke alat mana pun. Berikan di awal dalam prompt:

Kata sandi untuk contract.pdf ada dalam pesan saya. Periksa berapa banyak halaman yang dimilikinya, lalu tunjukkan halaman 2.

Tanpa kata sandi panggilan gagal, dan agen dapat menanyakan kepada Anda alih-alih menebak. Jika panggilan gagal, get_view_info mengembalikan teks yang dimulai dengan View-info lookup failed for diikuti tipe pengecualian dan pesan, sehingga agen dapat membaca alasannya dan meminta kata sandi atau nama file yang benar.

Prompt inspeksi-lalu-render yang dapat digunakan kembali

Sebelum merender apa pun dari file yang namanya di bawah ini, periksa tipe file, jumlah halaman, dan ukuran halaman. Beritahu saya apa yang Anda temukan, lalu render hanya halaman yang diperlukan untuk menjawab pertanyaan saya. File: contract.docx. Pertanyaan: di mana klausul terminasi?

Agen memanggil get_view_info, melaporkan tipe file dan jumlah halaman, memilih halaman, dan memanggil render_page untuk masing-masing. Alat get_license_status adalah alat ketiga di server; gunakan ketika Anda perlu mengetahui apakah halaman yang dirender akan diberi watermark.

Sesi contoh

Ilustrasi berdasarkan bentuk respons yang terdokumentasi, bukan tangkapan layar.

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?

Apa yang diputuskan agen, dan apa yang dilakukan mesin?

Langkah Agen Mesin
Pilih file Mengambil nama file dari prompt Anda Menyelesaikannya di folder penyimpanan, menampilkan daftar file yang tersedia jika nama tidak cocok
Inspeksi Menentukan pertanyaan mana yang penting Mengembalikan tipe file, jumlah halaman, dan ukuran halaman
Pilih halaman Mencocokkan pertanyaan Anda dengan nomor halaman Tidak ada
Render Memanggil render_page untuk setiap halaman yang dipilih Menghasilkan PNG

Batasan jujur

  • Evaluation mode. Halaman yang dirender membawa watermark evaluasi dan proses server membuka paling banyak 15 dokumen. Tanyakan “Is the viewer server licensed?” sehingga agen memanggil get_license_status sebelum Anda mengandalkan output.
  • The page count does not choose pages for you. get_view_info memberi tahu halaman mana yang ada, bukan mana yang berisi jawaban. Untuk itu, render halaman daftar isi atau beberapa kandidat.
  • PNG only. Tidak ada opsi format pada render_page.

FAQ

How can an AI agent get the page count of a PDF? Jika server Viewer terhubung, Claude dapat memanggil get_view_info dan membaca pageCount tanpa merender apa pun. Jawabannya berasal dari dokumen, bukan dari tebakan.

Can a document info MCP tool tell the agent which pages to render? Ya. Berikan dulu jumlah halaman dan ukuran, lalu beri tahu apa yang Anda cari. Ia merender halaman yang menjawab pertanyaan.

Does inspecting a document upload it anywhere? Tidak. Server membaca file dari folder yang Anda konfigurasikan dan mengembalikan objek JSON kecil ke klien Anda.

Selami lebih dalam