ZoteroAtelier Koreader

Plugin pour Koreader pour afficher synchroniser les annotations de maniére bidirectionnel.
📸 Aperçu
| Bibliothèque | Annotations |
|---|---|
![]() |
![]() |
📖 À propos
Plugin KOReader pour parcourir votre bibliothèque Zotero, ouvrir les pièces jointes, annoter (PDF / EPUB) et synchroniser les notes avec Zotero — y compris hors WebDAV.
Projet repris et développé sous le nom Zotero Atelier (fork / continuation du plugin Zotero pour KOReader). Version bêta : les retours et PR sont les bienvenus.
Page outil : atelier.atechnologie.fr/outil/zoteroatelier-koreader
✨ Fonctionnalités
- Synchronisation via l’API Web Zotero
- Ouverture des pièces jointes PDF / EPUB / HTML
- Annotations bidirectionnelles avec Zotero (création, modification, suppression)
- Écriture des surlignages dans le PDF (réglage activable) et/ou sync vers Zotero
- Annotations EPUB (sidecar KOReader ↔ Zotero ; position approximative / xpointers)
- Panneau notes du document ouvert (filtre, aller à la page, suppression)
- Recherche globale dans les annotations de la bibliothèque locale
- Téléchargement auto des collections marquées « offline »
- Stockage WebDAV (Nextcloud, etc.)
- Fichiers locaux hors WebDAV : dossier linked files, storage Zotero externe, mappings de chemins, recherche par nom de fichier, racines de recherche
- Recherche d’entrées par titre et premier auteur
Limites actuelles
- La recherche bibliographique reste basique (pas encore tags / DOI / tous les auteurs)
- Sur EPUB, le positionnement exact type CFI Zotero n’est pas toujours parfait : texte, note et page/chapitre sont synchronisés en priorité
- Si vous activez à la fois l’écriture dans le PDF et la sync Zotero, les surlignages peuvent apparaître en double selon les viewers
⬇️ Installation
- Utilisez une version récente de KOReader
- Copiez le dossier du plugin (voir ci-dessous — le nom doit finir par
.koplugin) - Quittez complètement puis relancez KOReader (pas seulement « retour »)
- Créez une clé API dans les réglages Zotero (notez le userID et la clé)
- Si besoin, configurez WebDAV (voir plus bas)
- Saisissez vos identifiants dans le menu du plugin, ou éditez le fichier de config
Où copier le plugin
Le dossier doit s’appeler exactement zoteroatelier.koplugin
(pas zotero.koplugin, pas zoteroatelier.koplugin-master, pas un dossier imbriqué).
Un ZIP GitHub s’appelle souvent
zoteroatelier.koplugin-master.
Renommez-le enzoteroatelier.kopluginaprès extraction.
KOReader ignore tout dossier qui ne se termine pas exactement par.koplugin.
Il doit contenir directement (pas un sous-dossier) :
…/plugins/zoteroatelier.koplugin/
├── _meta.lua ← obligatoire
├── main.lua ← obligatoire
├── zoteroapi.lua
├── annotations.lua
├── annotation_panel.lua
├── annotation_search.lua
├── zoteroiteminfo.lua
└── …
Mauvais (ne charge pas) :
plugins/zoteroatelier.koplugin/zoteroatelier.koplugin-master/main.lua
plugins/zoteroatelier.koplugin-master/
plugins/zotero.koplugin/ ← ancien nom, ce fork utilise zoteroatelier
| Plateforme | Chemin typique |
|---|---|
| PC / Kobo / Kindle | <install KOReader>/plugins/zoteroatelier.koplugin |
| Android | /sdcard/koreader/plugins/zoteroatelier.koplugin |
| Alternative | <répertoire data KOReader>/plugins/zoteroatelier.koplugin |
Sur Android, préférez /sdcard/koreader/plugins/ (l’APK est souvent en lecture seule).
Les données restent dans <data KOReader>/zotero/ (compatibilité avec l’ancien plugin).
Où trouver le plugin dans KOReader
Après un redémarrage complet :
- Menu du haut → Recherche (loupe) → Zotero Atelier
- Menu du haut → Outils → Zotero Atelier
- Menu du haut → Réglages (roue dentée) → Zotero Atelier
- Pour l’activer : Réglages → Plugin management → User plugins → cochez Zotero Atelier → redémarrer
Le plugin n’apparaît nulle part ?
- Dossier = exactement
zoteroatelier.koplugin(voir ci-dessus) main.luaet_meta.luasont à la racine de ce dossier- Redémarrage complet de KOReader
- Plugin management → User plugins : case cochée (si « Zotero » ancien est désactivé, ce n’est pas le même plugin)
- Android :
/sdcard/koreader/plugins/zoteroatelier.koplugin - Ouvrez
crash.log(répertoire data KOReader) et cherchezzoteroatelier/Error when loading
✏️ Utilisation
Le plugin conserve la plupart des métadonnées en local. Hormis Synchronize (et le téléchargement d’un fichier manquant), il évite d’appeler le serveur.
Browse
Navigation dans les collections. Seuls les items avec au moins une pièce jointe supportée sont listés. Collections d’abord, puis items (ordre alphabétique). Les items sans collection sont à la racine.
- Tap : ouvrir une sous-collection ou une pièce jointe (téléchargement si besoin) ; les annotations Zotero connues sont attachées au sidecar
- Appui long : collection → offline ; item → fiche biblio + liste des pièces jointes
- Loupe : recherche titre / premier auteur
Geste possible : Réglages → Gestures → General → Zotero Collection Browser
Synchronize
La première sync télécharge toutes les métadonnées (peut être long). Ensuite, sync incrémentale.
- Envoi des annotations locales (création / édition / suppression)
- Téléchargement des collections
- Téléchargement / catalogue des items
- Téléchargement des pièces jointes des collections offline
Annotations & notes
Dans le menu Zotero Atelier :
| Entrée | Rôle |
|---|---|
| Document annotations | Liste filtrable des notes du document ouvert (aller à la page, supprimer) |
| Search annotations | Recherche dans les annotations de toute la biblio syncée |
| Sync document annotations | Envoi immédiat create/update/delete pour le fichier ouvert |
| Write highlights into PDF files | Active l’écriture des surlignages dans le fichier PDF |
La sync des annotations se déclenche aussi à l’ouverture et à la fermeture d’un document reconnu comme pièce jointe Zotero.
Maintenance
- Re-analyse local items : recalcule attachments / annotations sans réseau
- Re-scan storage : indexe les fichiers déjà présents localement
- Resync entire collection : remet la base locale à zéro puis resync complète (dernier recours)
Settings — Local files (chemins Windows → Android)
Zotero sur PC enregistre souvent D:\Notes\fichier.pdf.
Sur Android ce chemin n’existe pas. Il faut :
- Linked files folder = le dossier sur l’appareil, ex.
/storage/emulated/0/Documents/Notes
(pasD:\Notes; un raccourci/Documents/Notesest élargi si possible) - Path mapping :
- From :
D:\Notes - To :
/storage/emulated/0/Documents/Notes
- From :
- Activer Enable linked files folder
- Menu d’aide : Help: Windows path → Android
Autres options : external Zotero storage, search roots, allow outdated local files.
Vérifier la clé API
Menu → Test Zotero API key (ou Save & test après saisie du compte).
Le User ID est le nombre affiché sur https://www.zotero.org/settings/keys — pas le nom d’utilisateur.
About/Info
Version du plugin et statistiques de la bibliothèque locale.
⚙️ Configuration
WebDAV
Pour stocker les pièces jointes ailleurs que chez Zotero (ex. Nextcloud), voir le manuel Zotero.
L’URL WebDAV doit pointer vers un répertoire nommé zotero, par ex.
https://votre-instance.tld/remote.php/dav/files/votre-user/zotero
Préférez un mot de passe d’application.
Configuration manuelle
Fichier <data KOReader>/zotero/meta.lua :
return {
["api_key"] = "", -- clé API Zotero
["user_id"] = "", -- user ID (entier)
["webdav_enabled"] = false,
["webdav_url"] = "",
["webdav_user"] = "",
["webdav_password"] = "",
["prefer_local_files"] = true,
["linked_files_enabled"] = false,
["linked_files_base"] = "",
["external_storage_enabled"] = false,
["external_storage_dir"] = "",
["allow_stale_local"] = true,
["auto_disable_pdf_writing"] = false, -- false = écrire les highlights dans le PDF
["path_mappings"] = {},
["search_roots"] = {},
}
PDF : écrire ou non dans le fichier
Par défaut, Zotero Atelier active l’écriture des surlignages dans le PDF à l’ouverture depuis le navigateur (réglage « Write highlights into PDF files »).
Désactivez cette option dans le plugin si vous préférez ne garder les notes que dans le sidecar / Zotero.
Réglage global KOReader : Réglages → Document → Save document (write highlights into PDF).
📜 Provenance
Basé sur le plugin Zotero pour KOReader (communauté / forks successifs).
Zotero Atelier — reprise et extensions (annotations, notes, fichiers locaux) par l’Atelier.
🔗 Ressources
| 🌐 l’Atelier | atelier.atechnologie.fr |
| 🛠️ Page outil | zoteroatelier-koreader |
| 📦 Dépôt | github.com/Atelier-Recherche/zoteroatelier.koplugin |
| 📖 KOReader | github.com/koreader/koreader |
| 📚 Zotero | zotero.org |
📸 Vorschau
| Bibliothek | Annotationen |
|---|---|
![]() |
![]() |
📖 Über
KOReader-Plugin zum Durchsuchen Ihrer Zotero-Bibliothek, Öffnen von Anhängen, Annotieren (PDF / EPUB) und Synchronisieren der Notizen mit Zotero — auch ohne WebDAV.
Weitergeführt als Zotero Atelier (Fork / Fortsetzung des Zotero-Plugins für KOReader). Beta: Fehlerberichte und PRs willkommen.
Tool-Seite: atelier.atechnologie.fr/outil/zoteroatelier-koreader
✨ Funktionen
- Synchronisation über die Zotero-Web-API
- Öffnen von PDF- / EPUB- / HTML-Anhängen
- Bidirektionale Annotationen mit Zotero (Erstellen, Ändern, Löschen)
- Schreiben der Markierungen in die PDF-Datei (abschaltbar) und/oder Sync nach Zotero
- EPUB-Annotationen (KOReader-Sidecar ↔ Zotero; ungefähre Position / xpointers)
- Panel Notizen des geöffneten Dokuments (Filter, zur Seite springen, löschen)
- Globale Suche in den Annotationen der lokalen Bibliothek
- Automatischer Download für als „offline“ markierte Sammlungen
- WebDAV-Speicher (Nextcloud usw.)
- Lokale Dateien ohne WebDAV: Linked-Files-Ordner, externes Zotero-Storage, Pfad-Mappings, Suche nach Dateiname, Suchwurzeln
- Suche nach Einträgen über Titel und ersten Autor
Aktuelle Einschränkungen
- Die bibliografische Suche bleibt einfach (noch keine Tags / DOI / alle Autoren)
- Bei EPUB ist die exakte CFI-Positionierung nicht immer perfekt: Text, Notiz und Seite/Kapitel haben Vorrang
- Wenn Sie sowohl das Schreiben in die PDF als auch den Zotero-Sync aktivieren, können Markierungen je nach Viewer doppelt erscheinen
⬇️ Installation
- Verwenden Sie eine aktuelle KOReader-Version
- Kopieren Sie den Plugin-Ordner (siehe unten — der Name muss auf
.kopluginenden) - KOReader vollständig beenden und neu starten (nicht nur „Zurück“)
- Erstellen Sie einen API-Schlüssel in den Zotero-Einstellungen (userID und Schlüssel notieren)
- Bei Bedarf WebDAV konfigurieren (siehe unten)
- Anmeldedaten im Plugin-Menü eingeben oder die Konfigurationsdatei bearbeiten
Wohin den Plugin-Ordner kopieren
Der Ordner muss genau zoteroatelier.koplugin heißen
(nicht zotero.koplugin, nicht zoteroatelier.koplugin-master, kein verschachtelter Ordner).
Ein GitHub-ZIP heißt oft
zoteroatelier.koplugin-master.
Benennen Sie ihn nach dem Entpacken inzoteroatelier.kopluginum.
KOReader ignoriert jeden Ordner, der nicht genau auf.kopluginendet.
Er muss direkt enthalten (kein Unterordner):
…/plugins/zoteroatelier.koplugin/
├── _meta.lua ← erforderlich
├── main.lua ← erforderlich
├── zoteroapi.lua
├── annotations.lua
├── annotation_panel.lua
├── annotation_search.lua
├── zoteroiteminfo.lua
└── …
Falsch (wird nicht geladen):
plugins/zoteroatelier.koplugin/zoteroatelier.koplugin-master/main.lua
plugins/zoteroatelier.koplugin-master/
plugins/zotero.koplugin/ ← alter Name; dieser Fork nutzt zoteroatelier
| Plattform | Typischer Pfad |
|---|---|
| PC / Kobo / Kindle | <KOReader-Installation>/plugins/zoteroatelier.koplugin |
| Android | /sdcard/koreader/plugins/zoteroatelier.koplugin |
| Alternative | <KOReader-Datenverzeichnis>/plugins/zoteroatelier.koplugin |
Unter Android bevorzugt /sdcard/koreader/plugins/ (die APK ist oft schreibgeschützt).
Daten bleiben in <KOReader-Daten>/zotero/ (Kompatibilität mit dem alten Plugin).
Wo das Plugin in KOReader finden
Nach vollständigem Neustart:
- Oberes Menü → Suche (Lupe) → Zotero Atelier
- Oberes Menü → Werkzeuge → Zotero Atelier
- Oberes Menü → Einstellungen (Zahnrad) → Zotero Atelier
- Aktivieren: Einstellungen → Plugin management → User plugins → Zotero Atelier ankreuzen → neu starten
Plugin erscheint nirgends?
- Ordnername = genau
zoteroatelier.koplugin(siehe oben) main.luaund_meta.lualiegen im Stamm dieses Ordners- Vollständiger KOReader-Neustart
- Plugin management → User plugins: Häkchen gesetzt (deaktiviertes altes „Zotero“ ist ein anderes Plugin)
- Android:
/sdcard/koreader/plugins/zoteroatelier.koplugin crash.log(KOReader-Datenverzeichnis) öffnen und nachzoteroatelier/Error when loadingsuchen
✏️ Nutzung
Die meisten Metadaten bleiben lokal. Außer Synchronize (und dem Download einer fehlenden Datei) vermeidet das Plugin Serveraufrufe.
Browse
Navigation in den Sammlungen. Nur Einträge mit mindestens einem unterstützten Anhang werden gelistet. Zuerst Sammlungen, dann Einträge (alphabetisch). Einträge ohne Sammlung stehen an der Wurzel.
- Tippen: UnterSammlung oder Anhang öffnen (Download bei Bedarf); bekannte Zotero-Annotationen werden dem Sidecar angehängt
- Langer Druck: Sammlung → offline; Eintrag → Bibliokarte + Anhangliste
- Lupe: Suche nach Titel / erstem Autor
Optionaler Gestus: Einstellungen → Gestures → General → Zotero Collection Browser
Synchronize
Der erste Sync lädt alle Metadaten herunter (kann lange dauern). Danach inkrementell.
- Lokale Annotationen senden (Erstellen / Bearbeiten / Löschen)
- Sammlungen herunterladen
- Einträge herunterladen / katalogisieren
- Anhänge der Offline-Sammlungen herunterladen
Annotationen & Notizen
Im Menü Zotero Atelier:
| Eintrag | Rolle |
|---|---|
| Document annotations | Filterbare Liste der Notizen des geöffneten Dokuments (zur Seite, löschen) |
| Search annotations | Suche in allen synchronisierten Annotationen der lokalen Bibliothek |
| Sync document annotations | Sofortiges create/update/delete für die geöffnete Datei |
| Write highlights into PDF files | Schreibt Markierungen in die PDF-Datei |
Der Annotations-Sync läuft auch beim Öffnen/Schließen, wenn die Datei als Zotero-Anhang erkannt wird.
Wartung
- Re-analyse local items: Anhänge / Annotationen offline neu berechnen
- Re-scan storage: bereits lokale Dateien indexieren
- Resync entire collection: lokale DB zurücksetzen und voller Resync (letzter Ausweg)
Settings — Local files (Windows-Pfade → Android)
Zotero auf dem PC speichert oft D:\Notes\datei.pdf.
Unter Android existiert dieser Pfad nicht. Sie brauchen:
- Linked files folder = der Ordner auf dem Gerät, z. B.
/storage/emulated/0/Documents/Notes
(nichtD:\Notes; eine Kurzform/Documents/Noteswird wenn möglich erweitert) - Path mapping:
- From:
D:\Notes - To:
/storage/emulated/0/Documents/Notes
- From:
- Enable linked files folder aktivieren
- Hilfemenü: Help: Windows path → Android
Weitere Optionen: externes Zotero-Storage, Suchwurzeln, veraltete lokale Dateien erlauben.
API-Schlüssel prüfen
Menü → Test Zotero API key (oder Save & test nach der Kontoeingabe).
Die User-ID ist die Zahl auf https://www.zotero.org/settings/keys — nicht der Benutzername.
About/Info
Plugin-Version und Statistiken der lokalen Bibliothek.
⚙️ Konfiguration
WebDAV
Um Anhänge außerhalb von Zotero zu speichern (z. B. Nextcloud), siehe das Zotero-Sync-Handbuch.
Die WebDAV-URL muss auf ein Verzeichnis namens zotero zeigen, z. B.
https://ihre-instanz.tld/remote.php/dav/files/ihr-user/zotero
Bevorzugen Sie ein App-Passwort.
Manuelle Konfiguration
Datei <KOReader-Daten>/zotero/meta.lua:
return {
["api_key"] = "", -- Zotero-API-Schlüssel
["user_id"] = "", -- User-ID (Ganzzahl)
["webdav_enabled"] = false,
["webdav_url"] = "",
["webdav_user"] = "",
["webdav_password"] = "",
["prefer_local_files"] = true,
["linked_files_enabled"] = false,
["linked_files_base"] = "",
["external_storage_enabled"] = false,
["external_storage_dir"] = "",
["allow_stale_local"] = true,
["auto_disable_pdf_writing"] = false, -- false = Markierungen in die PDF schreiben
["path_mappings"] = {},
["search_roots"] = {},
}
PDF: in die Datei schreiben oder nicht
Standardmäßig aktiviert Zotero Atelier das Schreiben von Markierungen in die PDF beim Öffnen aus dem Browser („Write highlights into PDF files“).
Deaktivieren Sie die Option im Plugin, wenn Notizen nur im Sidecar / Zotero bleiben sollen.
Globale KOReader-Einstellung: Einstellungen → Document → Save document (write highlights into PDF).
📜 Herkunft
Basiert auf dem Community-Zotero-Plugin für KOReader und späteren Forks.
Zotero Atelier — Weiterentwicklung (Annotationen, Notizen, lokale Dateien) durch l’Atelier.
🔗 Ressourcen
| 🌐 l’Atelier | atelier.atechnologie.fr |
| 🛠️ Tool-Seite | zoteroatelier-koreader |
| 📦 Repository | github.com/Atelier-Recherche/zoteroatelier.koplugin |
| 📖 KOReader | github.com/koreader/koreader |
| 📚 Zotero | zotero.org |
📸 Preview
| Library | Annotations |
|---|---|
![]() |
![]() |
📖 About
KOReader plugin to browse your Zotero library, open attachments, annotate (PDF / EPUB), and sync notes with Zotero — including when files are not on WebDAV.
Continued as Zotero Atelier (fork / continuation of the Zotero KOReader plugin). Beta: bug reports and PRs welcome.
Tool page: atelier.atechnologie.fr/outil/zoteroatelier-koreader
✨ Features
- Sync via Zotero Web API
- Open PDF / EPUB / HTML attachments
- Bidirectional annotation sync (create, update, delete)
- Write highlights into the PDF (toggle) and/or sync to Zotero
- EPUB annotations (KOReader sidecar ↔ Zotero; approximate position / xpointers)
- Document annotations panel (filter, jump to page, delete)
- Global search across annotations in the local library
- Auto-download for offline collections
- WebDAV storage (Nextcloud, etc.)
- Local files without WebDAV: linked-files folder, external Zotero storage, path mappings, basename search, search roots
- Search entries by title and first author
Current limitations
- Bibliographic search is still basic (no full tags / DOI / all authors yet)
- EPUB exact CFI-style positioning may be imperfect; text, note, and page/chapter sync first
- Enabling both in-PDF writing and Zotero sync can show duplicate highlights depending on the viewer
⬇️ Installation
- Use a recent KOReader build
- Copy the plugin folder (see below — the name must end with
.koplugin) - Fully quit and restart KOReader (not just “back”)
- Create an API key in Zotero Settings (note the userID and key)
- Configure WebDAV if needed (see below)
- Enter credentials in the plugin menu, or edit the config file
Where to copy the plugin
The directory must be named exactly zoteroatelier.koplugin
(not zotero.koplugin, not zoteroatelier.koplugin-master, not a nested folder).
A GitHub ZIP is often named
zoteroatelier.koplugin-master.
Rename it tozoteroatelier.kopluginafter extraction.
KOReader ignores any folder that does not end exactly with.koplugin.
It must contain directly (not in a subfolder):
…/plugins/zoteroatelier.koplugin/
├── _meta.lua ← required
├── main.lua ← required
├── zoteroapi.lua
├── annotations.lua
├── annotation_panel.lua
├── annotation_search.lua
├── zoteroiteminfo.lua
└── …
Wrong (will not load):
plugins/zoteroatelier.koplugin/zoteroatelier.koplugin-master/main.lua
plugins/zoteroatelier.koplugin-master/
plugins/zotero.koplugin/ ← old name; this fork uses zoteroatelier
| Platform | Typical path |
|---|---|
| PC / Kobo / Kindle | <KOReader install>/plugins/zoteroatelier.koplugin |
| Android | /sdcard/koreader/plugins/zoteroatelier.koplugin |
| Alternative | <KOReader data directory>/plugins/zoteroatelier.koplugin |
On Android, prefer /sdcard/koreader/plugins/ (the APK is often read-only).
Local data stays in <KOReader data>/zotero/ for compatibility with the previous plugin.
Finding the plugin in KOReader
After a full restart:
- Top menu → Search (magnifier) → Zotero Atelier
- Top menu → Tools → Zotero Atelier
- Top menu → Settings (gear) → Zotero Atelier
- To enable: Settings → Plugin management → User plugins → check Zotero Atelier → restart
Plugin nowhere to be found?
- Folder name = exactly
zoteroatelier.koplugin(see above) main.luaand_meta.luaare at the root of that folder- Full KOReader restart
- Plugin management → User plugins: box checked (disabling the old “Zotero” plugin is unrelated)
- Android:
/sdcard/koreader/plugins/zoteroatelier.koplugin - Open
crash.log(KOReader data directory) and search forzoteroatelier/Error when loading
✏️ Usage
Most library metadata stays on device. Apart from Synchronize (and downloading a missing file), the plugin avoids hitting the Zotero server.
Browse
Navigate collections. Only items with at least one supported attachment are listed. Collections first, then items (alphabetical). Items without a collection appear at the root.
- Tap: open a sub-collection or attachment (download if needed); known Zotero annotations are attached to the sidecar
- Long-press: collection → offline; item → bibliographic card + attachment list
- Magnifier: search by title / first author
Optional gesture: Settings → Gestures → General → Zotero Collection Browser
Synchronize
The first sync downloads all metadata (can take a while). Afterwards, sync is incremental.
- Upload local annotations (create / update / delete)
- Download collections
- Download / catalogue items
- Download attachments for offline collections
Annotations & notes
In the Zotero Atelier menu:
| Menu item | Role |
|---|---|
| Document annotations | Filterable list for the open document (jump to page, delete) |
| Search annotations | Search all synced annotations in the local library |
| Sync document annotations | Immediate create/update/delete for the open file |
| Write highlights into PDF files | Enable writing highlights into the PDF file |
Annotation sync also runs on open/close when the file matches a Zotero attachment.
Maintenance
- Re-analyse local items: recalculate attachments / annotations offline
- Re-scan storage: index files already present locally
- Resync entire collection: wipe the local DB then full resync (last resort)
Settings — Local files (Windows paths → Android)
Zotero on a PC often stores D:\Notes\file.pdf.
On Android that path does not exist. You need:
- Linked files folder = the folder on the device, e.g.
/storage/emulated/0/Documents/Notes
(notD:\Notes; a shortcut like/Documents/Notesis expanded when possible) - Path mapping:
- From:
D:\Notes - To:
/storage/emulated/0/Documents/Notes
- From:
- Enable Enable linked files folder
- Help menu: Help: Windows path → Android
Other options: external Zotero storage, search roots, allow outdated local files.
Verify the API key
Menu → Test Zotero API key (or Save & test after entering the account).
The User ID is the number shown at https://www.zotero.org/settings/keys — not the username.
About/Info
Plugin version and local library statistics.
⚙️ Configuration
WebDAV
To store attachments outside Zotero storage (e.g. Nextcloud), see the Zotero sync manual.
The WebDAV URL must point to a directory named zotero, e.g.
https://your-instance.tld/remote.php/dav/files/your-user/zotero
Prefer an app password.
Manual configuration
File <KOReader data>/zotero/meta.lua:
return {
["api_key"] = "", -- Zotero API key
["user_id"] = "", -- user ID (integer)
["webdav_enabled"] = false,
["webdav_url"] = "",
["webdav_user"] = "",
["webdav_password"] = "",
["prefer_local_files"] = true,
["linked_files_enabled"] = false,
["linked_files_base"] = "",
["external_storage_enabled"] = false,
["external_storage_dir"] = "",
["allow_stale_local"] = true,
["auto_disable_pdf_writing"] = false, -- false = write highlights into the PDF
["path_mappings"] = {},
["search_roots"] = {},
}
PDF: write into the file or not
By default, Zotero Atelier enables writing highlights into the PDF when opening from the browser (“Write highlights into PDF files”).
Turn that off in the plugin if you prefer notes only in the sidecar / Zotero.
Global KOReader setting: Settings → Document → Save document (write highlights into PDF).
📜 Provenance
Based on the community Zotero KOReader plugin and subsequent forks.
Zotero Atelier — continued development (annotations, notes, local files) by l’Atelier.
🔗 Resources
| 🌐 l’Atelier | atelier.atechnologie.fr |
| 🛠️ Tool page | zoteroatelier-koreader |
| 📦 Repository | github.com/Atelier-Recherche/zoteroatelier.koplugin |
| 📖 KOReader | github.com/koreader/koreader |
| 📚 Zotero | zotero.org |
📸 Vista previa
| Biblioteca | Anotaciones |
|---|---|
![]() |
![]() |
📖 Acerca de
Plugin para KOReader para explorar su biblioteca Zotero, abrir adjuntos, anotar (PDF / EPUB) y sincronizar las notas con Zotero — incluso fuera de WebDAV.
Continuado como Zotero Atelier (fork / continuación del plugin Zotero para KOReader). Beta: se agradecen informes de errores y PRs.
Página de la herramienta: atelier.atechnologie.fr/outil/zoteroatelier-koreader
✨ Funciones
- Sincronización mediante la API Web de Zotero
- Apertura de adjuntos PDF / EPUB / HTML
- Anotaciones bidireccionales con Zotero (crear, modificar, eliminar)
- Escritura de resaltados en el PDF (opción activable) y/o sync hacia Zotero
- Anotaciones EPUB (sidecar KOReader ↔ Zotero; posición aproximada / xpointers)
- Panel de notas del documento abierto (filtro, ir a la página, eliminar)
- Búsqueda global en las anotaciones de la biblioteca local
- Descarga automática de colecciones marcadas como « offline »
- Almacenamiento WebDAV (Nextcloud, etc.)
- Archivos locales sin WebDAV: carpeta linked files, storage Zotero externo, mapeos de rutas, búsqueda por nombre de archivo, raíces de búsqueda
- Búsqueda de entradas por título y primer autor
Limitaciones actuales
- La búsqueda bibliográfica sigue siendo básica (aún sin tags / DOI / todos los autores)
- En EPUB, el posicionamiento exacto tipo CFI de Zotero no siempre es perfecto: se priorizan texto, nota y página/capítulo
- Si activa a la vez la escritura en el PDF y el sync Zotero, los resaltados pueden duplicarse según el visor
⬇️ Instalación
- Use una versión reciente de KOReader
- Copie la carpeta del plugin (véase abajo — el nombre debe terminar en
.koplugin) - Salga completamente y reinicie KOReader (no solo « volver »)
- Cree una clave API en los ajustes de Zotero (anote el userID y la clave)
- Si hace falta, configure WebDAV (véase más abajo)
- Introduzca las credenciales en el menú del plugin, o edite el archivo de configuración
Dónde copiar el plugin
La carpeta debe llamarse exactamente zoteroatelier.koplugin
(no zotero.koplugin, no zoteroatelier.koplugin-master, no una carpeta anidada).
Un ZIP de GitHub suele llamarse
zoteroatelier.koplugin-master.
Renómbrelo azoteroatelier.koplugintras extraerlo.
KOReader ignora cualquier carpeta que no termine exactamente en.koplugin.
Debe contener directamente (sin subcarpeta):
…/plugins/zoteroatelier.koplugin/
├── _meta.lua ← obligatorio
├── main.lua ← obligatorio
├── zoteroapi.lua
├── annotations.lua
├── annotation_panel.lua
├── annotation_search.lua
├── zoteroiteminfo.lua
└── …
Incorrecto (no carga):
plugins/zoteroatelier.koplugin/zoteroatelier.koplugin-master/main.lua
plugins/zoteroatelier.koplugin-master/
plugins/zotero.koplugin/ ← nombre antiguo; este fork usa zoteroatelier
| Plataforma | Ruta típica |
|---|---|
| PC / Kobo / Kindle | <instalación KOReader>/plugins/zoteroatelier.koplugin |
| Android | /sdcard/koreader/plugins/zoteroatelier.koplugin |
| Alternativa | <directorio de datos KOReader>/plugins/zoteroatelier.koplugin |
En Android, prefiera /sdcard/koreader/plugins/ (el APK suele ser de solo lectura).
Los datos permanecen en <datos KOReader>/zotero/ (compatibilidad con el plugin anterior).
Dónde encontrar el plugin en KOReader
Tras un reinicio completo:
- Menú superior → Buscar (lupa) → Zotero Atelier
- Menú superior → Herramientas → Zotero Atelier
- Menú superior → Ajustes (engranaje) → Zotero Atelier
- Para activarlo: Ajustes → Plugin management → User plugins → marque Zotero Atelier → reiniciar
¿El plugin no aparece en ninguna parte?
- Carpeta = exactamente
zoteroatelier.koplugin(véase arriba) main.luay_meta.luaestán en la raíz de esa carpeta- Reinicio completo de KOReader
- Plugin management → User plugins: casilla marcada (desactivar el « Zotero » antiguo no es lo mismo)
- Android:
/sdcard/koreader/plugins/zoteroatelier.koplugin - Abra
crash.log(directorio de datos KOReader) y busquezoteroatelier/Error when loading
✏️ Uso
El plugin conserva la mayoría de metadatos en local. Salvo Synchronize (y la descarga de un archivo faltante), evita llamar al servidor.
Browse
Navegación por colecciones. Solo se listan ítems con al menos un adjunto compatible. Primero colecciones, luego ítems (orden alfabético). Los ítems sin colección están en la raíz.
- Toque: abrir una subcolección o un adjunto (descarga si hace falta); las anotaciones Zotero conocidas se adjuntan al sidecar
- Pulsación larga: colección → offline; ítem → ficha bibliográfica + lista de adjuntos
- Lupa: búsqueda por título / primer autor
Gesto opcional: Ajustes → Gestures → General → Zotero Collection Browser
Synchronize
La primera sync descarga todos los metadatos (puede tardar). Después, sync incremental.
- Envío de anotaciones locales (crear / editar / eliminar)
- Descarga de colecciones
- Descarga / catálogo de ítems
- Descarga de adjuntos de las colecciones offline
Anotaciones y notas
En el menú Zotero Atelier:
| Entrada | Función |
|---|---|
| Document annotations | Lista filtrable de notas del documento abierto (ir a la página, eliminar) |
| Search annotations | Búsqueda en las anotaciones de toda la biblio sincronizada |
| Sync document annotations | Envío inmediato create/update/delete para el archivo abierto |
| Write highlights into PDF files | Activa la escritura de resaltados en el archivo PDF |
La sync de anotaciones también se dispara al abrir y cerrar un documento reconocido como adjunto Zotero.
Mantenimiento
- Re-analyse local items: recalcula adjuntos / anotaciones sin red
- Re-scan storage: indexa archivos ya presentes localmente
- Resync entire collection: pone a cero la base local y hace resync completa (último recurso)
Settings — Local files (rutas Windows → Android)
Zotero en PC suele guardar D:\Notes\archivo.pdf.
En Android esa ruta no existe. Hay que:
- Linked files folder = la carpeta en el dispositivo, p. ej.
/storage/emulated/0/Documents/Notes
(noD:\Notes; un atajo/Documents/Notesse amplía si es posible) - Path mapping:
- From:
D:\Notes - To:
/storage/emulated/0/Documents/Notes
- From:
- Activar Enable linked files folder
- Menú de ayuda: Help: Windows path → Android
Otras opciones: storage Zotero externo, raíces de búsqueda, permitir archivos locales desactualizados.
Verificar la clave API
Menú → Test Zotero API key (o Save & test tras introducir la cuenta).
El User ID es el número mostrado en https://www.zotero.org/settings/keys — no el nombre de usuario.
About/Info
Versión del plugin y estadísticas de la biblioteca local.
⚙️ Configuración
WebDAV
Para almacenar adjuntos fuera de Zotero (p. ej. Nextcloud), consulte el manual de sync de Zotero.
La URL WebDAV debe apuntar a un directorio llamado zotero, p. ej.
https://su-instancia.tld/remote.php/dav/files/su-usuario/zotero
Prefiera una contraseña de aplicación.
Configuración manual
Archivo <datos KOReader>/zotero/meta.lua:
return {
["api_key"] = "", -- clave API Zotero
["user_id"] = "", -- user ID (entero)
["webdav_enabled"] = false,
["webdav_url"] = "",
["webdav_user"] = "",
["webdav_password"] = "",
["prefer_local_files"] = true,
["linked_files_enabled"] = false,
["linked_files_base"] = "",
["external_storage_enabled"] = false,
["external_storage_dir"] = "",
["allow_stale_local"] = true,
["auto_disable_pdf_writing"] = false, -- false = escribir resaltados en el PDF
["path_mappings"] = {},
["search_roots"] = {},
}
PDF: escribir o no en el archivo
Por defecto, Zotero Atelier activa la escritura de resaltados en el PDF al abrir desde el navegador (« Write highlights into PDF files »).
Desactive la opción en el plugin si prefiere mantener las notas solo en el sidecar / Zotero.
Ajuste global de KOReader: Ajustes → Document → Save document (write highlights into PDF).
📜 Procedencia
Basado en el plugin Zotero para KOReader de la comunidad y forks sucesivos.
Zotero Atelier — continuación y extensiones (anotaciones, notas, archivos locales) por l’Atelier.
🔗 Recursos
| 🌐 l’Atelier | atelier.atechnologie.fr |
| 🛠️ Página de la herramienta | zoteroatelier-koreader |
| 📦 Repositorio | github.com/Atelier-Recherche/zoteroatelier.koplugin |
| 📖 KOReader | github.com/koreader/koreader |
| 📚 Zotero | zotero.org |


