Skip to content

Classy PDF Extractor

Import all types of annotations from PDFs inside and outside your vault, with flexible settings and templates. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDclassy-pdf-extractor
Authorpan4ratte
Minimum Obsidian Version1.13.0
Official Release Date2026-07-28
Last update2026-09-27

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 7, 2026
Release acquisitionrelease metadata checked Oct 7, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-07-28Plugin Added
2026-07-31Plugin Removed
2026-08-01Plugin Re-Added

Repository Data

LicenseMIT in package.json
MIT in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed Bundlersesbuild
Installed Testing FrameworksJest
Has Test FilesYes
Latest Release main.js Size473 KB
Detected ES VersionES2020
Probably MinifiedNo
main.js API Findings15 disclosures
Uses BRAT beta releasesNo
Dependencieshandlebars, obsidian, pdfjs-dist
Dev Dependencies@eslint/js, @eslint/json, @jest/globals, @types/node, esbuild, eslint, eslint-plugin-obsidianmd, globals, jest, ts-jest, tslib, typescript, typescript-eslint

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Clipboard AccessReads clipboard data, Writes clipboard data
Dynamic Code Or Remote CodeEvaluates dynamic code
Full Vault AccessEnumerates vault files
Markdown ProcessingRenders markdown, Uses markdown link helpers
Metadata AccessUpdates frontmatter through Obsidian APIs
Network AccessConstructs or references URLs
Node Filesystem AccessUses Node filesystem and path APIs
Platform BranchingChecks Obsidian platform flags
Plugin Storage AccessReads plugin data, Writes plugin data
User Interface AccessRegisters commands, Registers plugin settings UI, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs
Vault ReadReads vault files, Uses adapter-level vault filesystem APIs
Vault WriteUpdates frontmatter through Obsidian APIs, Uses adapter-level vault filesystem APIs, Writes vault files
Workspace AccessAccesses the active file
Workspace LayoutOpens files through the workspace
FindingTypeConfidenceEvidence
Evaluates dynamic codeWarningDefinitecall of "Function" (2)
Reads clipboard dataInfoDefinitemember_call of "navigator.clipboard.readText" (3)
Writes clipboard dataInfoDefinitemember_call of "navigator.clipboard.writeText"
Constructs or references URLsInfoDefinitestring_contains of "https://" (2)
Uses Node filesystem and path APIsInfoDefiniteimport of "fs"
Updates frontmatter through Obsidian APIsInfoDefinitemember_call of "app.fileManager.processFrontMatter"
Uses markdown link helpersInfoDefinitemember_call of "obsidian"
Renders markdownInfoDefinitemember_call of "obsidian"
Checks Obsidian platform flagsInfoDefinitemember_read of "obsidian" (3)
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (8)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal" (2)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (23)
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (14)
Uses adapter-level vault filesystem APIsInfoDefinitemember_call of "app.vault.adapter.exists", member_call of "app.vault.adapter.write" (2), member_call of "app.vault.adapter.read"
Enumerates vault filesInfoDefinitemember_call of "app.vault.getAllFolders", member_call of "app.vault.getFiles", member_call of "app.vault.getFileByPath" (2), member_call of "app.vault.getFolderByPath" (2)
Reads vault filesInfoDefinitemember_call of "app.vault.readBinary" (2)
Writes vault filesInfoDefinitemember_call of "app.vault.createFolder", member_call of "app.vault.create"
Accesses the active fileInfoDefinitemember_call of "app.workspace.getActiveFile" (5)
Opens files through the workspaceInfoDefinitemember_call of "app.workspace.openLinkText" (2)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 8715 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02026-08-01None
1.1.02026-08-02None
1.2.02026-08-08None
2.0.02026-08-12None
2.1.02026-09-05None
2.2.02026-09-06None
2.2.12026-09-23None
2.2.22026-09-29None