Browser-based PDF studio microservice and React component library for rendering, annotating, signing, and processing PDF documents.
Chartis is composed of two primary deliverables:
@tuckthomas/chartis-pdf-viewer: React component library providing an Acrobat-style PDF viewer and editor UI in the browser.Chartis.Pdf.Api: .NET 10 microservice backend handling PDFium page rendering, Tesseract OCR, annotation processing, and document operations.
Install the UI component library into any React project:
npm install @tuckthomas/chartis-pdf-viewerimport { PDFViewer } from '@tuckthomas/chartis-pdf-viewer';
export function DocumentEditorPage() {
return (
<div style={{ height: '100vh' }}>
<PDFViewer
apiUrl="http://localhost:5200"
documentUrl="https://example.com/sample.pdf"
onSave={(pdfBytes) => console.log('Saved PDF', pdfBytes.byteLength)}
/>
</div>
);
}docker compose up -dThe API service runs on http://localhost:5200.
dotnet build dotnet/Chartis.Pdf.Service/Chartis.Pdf.Service.sln| Method | Endpoint | Description |
|---|---|---|
GET |
/health |
Service health check |
POST |
/api/pdf/render |
Render PDF page(s) to image output |
POST |
/api/pdf/extract-text |
Extract text layer / Tesseract OCR |
POST |
/api/pdf/annotate |
Add annotations to PDF document |
POST |
/api/pdf/merge |
Merge multiple PDF files |
POST |
/api/pdf/split |
Split PDF into page ranges |
Distributed under the MIT License.