Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Zotero PDF OCR and Translation - Recto

Jensen ZhengJensen Zheng391 downloads

Import your Zotero library and PDFs, convert papers to Markdown with OCR, and translate them into multiple languages for side-by-side reading.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates30

English | 简体中文

Bring your Zotero paper library into Obsidian, convert PDFs to Markdown, and read originals alongside translations in your chosen language. Connect papers with your notes through Obsidian's links, search, and AI tools to build a personal knowledge base.

Recto paper library

The screenshots and recordings show the Chinese interface from earlier versions. Recto now supports English and Simplified Chinese; some controls have since changed.

Background

Many researchers have hundreds of papers in Zotero but have read only a fraction closely. Reading often means switching between a PDF reader and a translation tool. Copied equations and tables lose their formatting, while useful passages remain scattered across browser tabs instead of becoming part of a searchable note collection.

Recto connects this workflow: bring papers into Obsidian, convert them to Markdown, translate them, and read them side by side. Generated files stay in your vault, where they can connect with your existing notes.

Bring your Zotero paper library into Obsidian

Import bibliographic metadata and locally available PDF attachments together, preserving Zotero's collection hierarchy and papers that belong to multiple collections. Titles, authors, publication details, tags, and other bibliographic fields remain available in the local library. You can browse imported PDFs immediately, then choose which papers to convert or translate.

This brings the paper library's organization and reading workflow into Obsidian. Import reads Zotero without modifying its database or removing its files. It covers bibliographic records associated with imported PDFs, their metadata, and collections; it is not a full backup of every Zotero item type, note, or annotation. Attachments must be available locally. Ambiguous PDF choices are presented for confirmation.

Import from Zotero

Convert and translate papers

Read originals and translations side by side

Choose an output language in settings. Translations are linked to the original by paragraph, with synchronized scrolling for comparison. Reading and comparison follow the selected output language; existing files in other languages are preserved.

The interface language and document output language are independent. The interface can follow Obsidian or use English or Simplified Chinese. Document output supports multiple languages, including custom language choices; this does not imply equally reliable OCR for every language or scanned PDF.

Side-by-side reading

Compare translations with the original PDF

When a passage needs checking, click it in the comparison view to jump to its location in the PDF and highlight the corresponding region. This makes it easier to check wording, equations, and figures against the source page.

PDF comparison

Preserve equations, tables, and illustrations

Conversion produces Markdown with renderable equations, tables, and illustrations, rather than a plain stream of extracted text. Results depend on the source PDF; complex layouts and scans may still need checking against the original.

Converted Markdown

Organize and search your papers

Browse the Zotero collection tree, filter papers by processing status, and mark them as unread, reading, or read. Search by title, author, publication, or collection. Subsequent Zotero checks can bring in new papers and refresh collection information without replacing existing reading outputs.

Library filters and reading status

Generate structured summaries

When translating papers from the library, you can also request a summary and choose its level of detail. The summary follows your output language and is saved as a separate note, with bibliographic properties and links back to the paper. Existing summary files are preserved. Summaries are optional during library translation, not generated automatically by PDF conversion.

AI summary

Installation

Community plugins: Settings → Community plugins → Browse → search for Recto → Install and enable.

Manual installation: download main.js, manifest.json, and styles.css from Releases. Place them in <your vault>/.obsidian/plugins/recto/, restart Obsidian, and enable the plugin.

Getting started

  1. Sign in. Open Recto settings and follow the account link. Registration and sign-in take place in your browser; verify your email and return to Obsidian. Passwords are not entered inside the plugin.
  2. Import Zotero. Follow the setup steps to locate the local Zotero data directory and import your paper library.
  3. Choose an output language. Set the language for translations and new summaries independently of the interface language.
  4. Convert and translate. Select papers in the library and use the detail panel to convert or translate them. Papers without Markdown are converted before translation. Multiple papers can be queued together.
  5. Read and compare. Use the reading button and its menu to open an available document. The comparison controls open original/translation or PDF comparison views when the required files are ready.

The library lives in your configured vault folder, with a subfolder for each paper. New source Markdown uses src-; translated files use a language prefix such as zh-, zht-, en-, or ja-; summaries use br-. Older en- source files and ch- translations remain readable.

You can also convert PDFs outside the Zotero library or translate an existing Markdown file. These commands do not require Zotero and save ordinary files in the vault rather than adding entries to the Zotero-based library. The optional summary step applies only to library translation.

Requirements and service access

  • Obsidian desktop only. Recto reads the local filesystem; mobile is not supported.
  • Zotero library import requires local PDF attachments. Cloud-only attachments must be downloaded first. Independent PDF conversion and Markdown translation do not require Zotero.
  • Cloud processing requires a free Recto account and an internet connection. PDF conversion is currently free. Translation uses page credits; purchased credits do not expire. Any signup or invitation allowance is shown on the account page. An optional summary requested with library translation does not use additional translation pages.
  • Payments currently use WeChat Pay in CNY. International card checkout and Google sign-in are not yet available. Use email registration and sign-in.
  • Comparison requires matching files. Original/translation comparison needs both documents; PDF comparison also needs the PDF and its mapping data. For independent PDF conversion, enable the option to retain files for PDF comparison if needed.

Network services

Conversion, summary, and translation requests go to the Recto cloud service (api.rectoai.uk). Conversion uploads the selected PDF. Translation uploads structured text; translating an existing Markdown file sends that file's text for processing. Account and credit management also use Recto's service. For data handling, retention, and local storage details, see Privacy and data.

Development

This repository is the Community plugin release surface. It contains the English and Chinese READMEs, privacy notice, license, media assets, and the three plugin distribution files, with installable assets attached to Releases. Development takes place in a separate private repository.

Third-party fonts

Embedded interface fonts are licensed under the SIL Open Font License 1.1:

  • Inter
  • Source Han Sans (SC subset; reserved font name "Source")
  • JetBrains Mono

License text: SIL Open Font License.

License

MIT © 2026 Jensen Zheng

Author

Jensen Zheng — GitHub @jensen-zheng-cmd

HealthExcellent
ReviewCaution
About
Convert Zotero PDFs to Markdown, generate structured AI summaries, and produce aligned Chinese translations for bilingual side-by-side reading. Import Zotero metadata into a searchable local paper library, monitor conversion and translation status in a central Hub, and open papers for reading and search inside Obsidian.
PDFAIImport
Details
Payments
Optional
Current version
1.1.22
Last updated
2 days ago
Created
2 months ago
Updates
30 releases
Downloads
391
Compatible with
Obsidian 1.4.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Payments
Cloud PDF conversion, AI summaries, and Chinese translation use Recto account quotas. A free Basic allowance is included to try the workflow. Optional Pro/Max plans add more monthly or yearly quota. Local library browsing and Zotero import do not require payment.
Author
Jensen ZhengJensen Zhengjensen-zheng-cmd
GitHubjensen-zheng-cmd
  1. Community
  2. Plugins
  3. PDF
  4. Zotero PDF OCR and Translation - Recto

Related plugins

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation plugin for Obsidian - turns notes and PDFs into a linked, LLM-powered knowledge base with entity pages, concept pages, graph-powered Q&A, and local-first privacy.

Snipd Official

Sync Snipd podcast highlights to your vault with transcript, notes, AI summaries and metadata.

Nexus AI Chat Importer

Import AI chats from ChatGPT, Claude, Mistral Vibe, Perplexity, and Grok into Obsidian as clean Markdown notes.

Plaud Sync

Sync Plaud voice recordings into Markdown notes with transcripts, AI summaries, and highlights.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.