feat: enhance PDF comparison with new change types and zoom functionality

- Added support for 'moved' and 'style-changed' change types in PDF comparison.
- Implemented category filters for changes, allowing users to filter by text, images, headers, annotations, formatting, and background.
- Introduced zoom functionality with buttons for zooming in, out, and resetting to default.
- Updated UI to reflect new change types and categories, including visual indicators for moved and style-changed items.
- Enhanced summary display to include counts for moved and style-changed changes.
- Refactored rendering logic to accommodate zoom levels and improve performance.
- Added tests for new change detection features and category assignments.
This commit is contained in:
alam00000
2026-03-10 13:47:46 +05:30
parent 89d7cd8e3d
commit 5232102ac0
31 changed files with 2503 additions and 183 deletions

View File

@@ -292,7 +292,47 @@
},
"comparePdfs": {
"name": "Compare PDFs",
"subtitle": "Compare two PDFs side by side."
"subtitle": "Compare two PDFs side by side.",
"firstPdf": "First PDF",
"secondPdf": "Second PDF",
"clickOrDrop": "Click or drop",
"page": "Page",
"overlay": "Overlay",
"sideBySide": "Side-by-Side",
"flicker": "Flicker",
"syncScroll": "Sync scroll",
"export": "Export",
"exportAsPdf": "Export as PDF",
"splitView": "Split view",
"alternating": "Alternating",
"leftDocument": "Left Document",
"rightDocument": "Right Document",
"original": "Original",
"modified": "Modified",
"searchChanges": "Search changes...",
"deleted": "Deleted",
"added": "Added",
"prevPage": "Previous page",
"nextPage": "Next page",
"prevChange": "Previous change",
"nextChange": "Next change",
"uploadTwoPdfs": "Upload two PDFs to see differences.",
"noDifferences": "No differences detected on this page.",
"noMatchingChanges": "No changes match the current filter.",
"pageNotExist": "Page {{page}} does not exist in this PDF.",
"noPairedPage": "No paired page for this side.",
"buildingModel": "Building page pairing model...",
"indexingPdf": "Indexing PDF {{num}} page {{page}} of {{total}}...",
"loadingComparison": "Loading comparison {{current}} of {{total}}...",
"runningOcr": "Running OCR on page {{page}}...",
"preparingExport": "Preparing PDF export...",
"renderingPage": "Rendering page {{current}} of {{total}}...",
"exportError": "Export Error",
"exportFailed": "Could not export comparison PDF.",
"loadingFile": "Loading {{name}}...",
"invalidFile": "Invalid File",
"invalidFileMsg": "Please select a valid PDF file.",
"loadError": "Could not load PDF. It may be corrupt or password-protected."
},
"posterizePdf": {
"name": "Posterize PDF",