Files
↻
Loading...
No documents
{{ getExtIcon(getExt(doc.title||doc.id)) }}
{{ doc.page_count }} pages
⋯
Upload files
Uploading: {{ uploadProgress }}%
{{ uploadError }}
Workers
{{ formatNum(usage.workers.used) }} / {{ formatNum(usage.workers.limit) }}
R2 storage
{{ formatBytes(usage.r2_storage.used_bytes) }} / {{ formatBytes(usage.r2_storage.limit_bytes) }} · {{ formatNum(usage.r2_storage.object_count) }} obj
R2 ops
A {{ formatNum(usage.r2_operations.class_a.used) }}/{{ formatCompact(usage.r2_operations.class_a.limit) }} · B {{ formatNum(usage.r2_operations.class_b.used) }}/{{ formatCompact(usage.r2_operations.class_b.limit) }}
{{ deployedAtLabel }}
Process image
{{ pdfModalPageIdx + 1 }} / {{ pdfModalPages.length }}
Brightness
{{ pdfModalBrightness > 0 ? '+' : '' }}{{ pdfModalBrightness }}
Contrast
{{ pdfModalContrast > 0 ? '+' : '' }}{{ pdfModalContrast }}
Sharpness
{{ pdfModalSharpness }}%
Est. size:
{{ pdfModalSizeKb }} KB
(large)
Cancel
Save
−
{{ Math.round(pdfZoom * 100) }}%
+
Processing...
{{ tagModalTitle }}
{{ (tagModalComment || '').length }}/1000
OK
Cancel
Comment
{{ commentModalText }}
Close
{{ pagesViewTitle }}
Add pages
Close
{{ i + 1 }}
↑
↓
×
{{ getExtIcon(getExt(page.filename||page.key)) }}
{{ viewerName }}
−
{{ Math.round(viewerScale * 100) }}%
+
1:1
⤓
Close
←
→
Page {{ viewerPageIndex + 1 }} of {{ viewerPages.length }}
{{ pdfViewerName }}
−
{{ Math.round(pdfViewerScale * 100) }}%
+
1:1
⤓
Close
Loading PDF…
{{ pdfViewerError }}