Skip to content
Build Perch
Browse guides

How to read a PDF's contents with AI

Short answer: Just ask: pointing the AI at a PDF in your workspace and asking about it is enough. read_file pulls out the full text automatically, and reading/searching files is on by default in every built-in mode except Chat Only, so there’s nothing to turn on first. The one nuance is keyword search: it only looks inside PDF and Office content when you ask it to (see step 2).

Steps

  1. Put the PDF in your workspace, then ask the AI about it directly: for example, “What does contract.pdf say about the termination clause?” read_file extracts the document’s full text and answers from that.
  2. To search one phrase across many files at once, including PDFs, ask something like “search all my PDFs for Q3 revenue.” The AI reaches inside PDF (and Word/Excel/PowerPoint) content with find_text when it decides document content should be included. Searching inside PDF and Office content is off by default for a plain keyword search, so ask explicitly (for example, “include the PDFs”) if a search seems to skip them.
  3. For a fuzzier “find the PDF about X” without an exact phrase, ask the AI to search by meaning. PDFs are indexed for semantic search by default, alongside your other files.

Notes & gotchas

  • Scanned or image-only PDFs have no text layer, and there’s no OCR, so none of these tools can read them. read_file returns an explicit “No text content found in PDF (may be image-based)” error on one; a keyword search on the same file just comes back with no matches.
  • Password-protected PDFs aren’t supported: text extraction fails.
  • read_file returns the whole document as flat text with no page numbers; PDFs don’t expose page boundaries the way Word documents do.
  • PDF is the one document format the AI can’t edit in place. It can read, search, and create new PDFs from HTML, but it can’t modify an existing one’s content.
  • A very large PDF can be skipped from the semantic index if its extracted text exceeds the size cap (2 MB by default; raise it in Settings, under Workspace Indexing, with “Max file size to index”); the Activity window flags files it skipped this way.