MCPcopy Index your code
hub / github.com/JavierCanon/PDF-OEditor.js

github.com/JavierCanon/PDF-OEditor.js @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
6,595 symbols 18,337 edges 329 files 529 documented · 8% updated 5y ago★ 381 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PDF-OEditor.js

📑 HTML5 Javascript Online Offline Browser Editor 📜 for PDF files for insert sign, images, photos, comments or annotations.

I dont found a free or open source solution at 2021 for make annotations on PDF files on the browser, for an Angular project, so, we need to build one with libraries and projects that i found.

Ranking of Open Source PDF Online Editors 2021-02-01: OPEN-SOURCE-PDF-ONLINE-EDITORS.xlsx

Screenshoot Screenshoot Screenshoot

Technology and Frameworks Used

  • Microsoft Asp.Net 5 Core
  • Microsoft Internet Server IIS 10
  • Microsoft Visual Studio 2019
  • Javascript

Libraries

  • PDF.js A Mozilla general-purpose, web standards-based platform for parsing and rendering PDFs.
  • pdf-lib Create and modify PDF documents in any JavaScript environment.
  • download.js File downloading using client-side javascript

Main Features

  • [x] Load PDF file server side or client side.
  • [x] Save PDF file as original PDF, not as image (print or render), as many JS editor...
  • [x] Insert image.
  • [x] Insert sign.
  • [x] Insert annotation.

Philosophy of Javier Cañon

  • KISS by design and programming. An acronym for "keep it simple, stupid" or "keep it stupid simple", is a design principle. The KISS principle states that most systems work best if they are kept simple rather than made complicated; therefore, simplicity should be a key goal in design, and unnecessary complexity should be avoided. Variations on the phrase include: "Keep it simple, silly", "keep it short and simple", "keep it simple and straightforward", "keep it small and simple", or "keep it stupid simple".
  • Select the best tools for the job, use tools that take less time to finish the job.
  • Productivity over complexity and avoid unnecessary complexity for elegant or beauty code.
  • Computers are machines, more powerful every year, give them hard work, concentrate on being productive.
  • Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something, something, something..." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. [Yukihiro Matsumoto].

Supported by, thanks to

Softcanon

Softcanon

License

This project is licensed under the MIT LICENSE - see the LICENSE.md file for details.


Made with ❤️ by Javier Cañon.

Extension points exported contracts — how you extend this code

AcroFormField (Interface)
(no doc) [10 implementers]
src/Others/jsPDF-2.3.0/types/index.d.ts
TemplateSchema (Interface)
(no doc)
src/Others/labelmake/src/type.ts
PageSize (Interface)
(no doc)
src/Others/labelmake/src/type.ts
SubsetFont (Interface)
(no doc)
src/Others/labelmake/src/type.ts
Font (Interface)
(no doc)
src/Others/labelmake/src/type.ts

Core symbols most depended-on inside this repo

get
called by 2204
src/Others/jsPDF-2.3.0/types/index.d.ts
n
called by 769
src/Others/labelmaker_v2/public/pdfmake/pdfmake.js
join
called by 676
src/Others/jsPDF-2.3.0/types/index.d.ts
set
called by 617
src/Others/jsPDF-2.3.0/types/index.d.ts
toString
called by 450
src/Others/jsPDF-2.3.0/types/index.d.ts
add
called by 395
src/Others/jsPDF-2.3.0/types/index.d.ts
out
called by 338
src/Others/pdf-annotation/bower_components/pdf-annotation/src/js/jspdf.debug.js
save
called by 253
src/Others/jsPDF-2.3.0/types/index.d.ts

Shape

Function 6,386
Method 97
Class 58
Interface 54

Languages

TypeScript100%
C#1%

Modules by API surface

src/Others/pdf-annotate.js/shared/pdf.worker.js531 symbols
src/Others/pdf-annotate.js/docs/shared/pdf.worker.js531 symbols
src/Others/jsPDF-online/shared/pdf.worker.js531 symbols
src/Others/pdf-annotation/bower_components/pdf-annotation/src/js/pdf.worker.js511 symbols
src/Others/pdf-annotation/bower_components/angular/angular.js502 symbols
src/Others/pdf-annotation/bower_components/angular/angular.min.js261 symbols
src/Others/jsPDF-2.3.0/examples/PDF.js/web/viewer.js255 symbols
src/Others/jsPDF-2.3.0/src/libs/WebPDecoder.js211 symbols
src/PDF-OEditor.js.HTML5/wwwroot/js/pdf-lib.min.js185 symbols
src/Others/pdf-annotate.js/shared/pdf.js173 symbols
src/Others/pdf-annotate.js/docs/shared/pdf.js173 symbols
src/Others/jsPDF-online/shared/pdf.js173 symbols

For agents

$ claude mcp add PDF-OEditor.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page