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": "PDF's Vergelijken",
"subtitle": "Twee PDF's zij-aan-zij vergelijken."
"subtitle": "Twee PDF's zij-aan-zij vergelijken.",
"firstPdf": "Eerste PDF",
"secondPdf": "Tweede PDF",
"clickOrDrop": "Klik of sleep neer",
"page": "Pagina",
"overlay": "Overlay",
"sideBySide": "Zij aan zij",
"flicker": "Flikkeren",
"syncScroll": "Scroll synchroniseren",
"export": "Exporteren",
"exportAsPdf": "Exporteren als PDF",
"splitView": "Gesplitste weergave",
"alternating": "Afwisselend",
"leftDocument": "Linkerdocument",
"rightDocument": "Rechterdocument",
"original": "Origineel",
"modified": "Gewijzigd",
"searchChanges": "Wijzigingen zoeken...",
"deleted": "Verwijderd",
"added": "Toegevoegd",
"prevPage": "Vorige pagina",
"nextPage": "Volgende pagina",
"prevChange": "Vorige wijziging",
"nextChange": "Volgende wijziging",
"uploadTwoPdfs": "Upload twee PDF's om de verschillen te zien.",
"noDifferences": "Geen verschillen gedetecteerd op deze pagina.",
"noMatchingChanges": "Geen wijzigingen komen overeen met het huidige filter.",
"pageNotExist": "Pagina {{page}} bestaat niet in deze PDF.",
"noPairedPage": "Geen gekoppelde pagina voor deze zijde.",
"buildingModel": "Model voor paginakoppeling wordt opgebouwd...",
"indexingPdf": "PDF {{num}}, pagina {{page}} van {{total}} wordt geïndexeerd...",
"loadingComparison": "Vergelijking {{current}} van {{total}} wordt geladen...",
"runningOcr": "OCR wordt uitgevoerd op pagina {{page}}...",
"preparingExport": "PDF-export wordt voorbereid...",
"renderingPage": "Pagina {{current}} van {{total}} wordt gerenderd...",
"exportError": "Exportfout",
"exportFailed": "Vergelijkings-PDF kon niet worden geëxporteerd.",
"loadingFile": "{{name}} wordt geladen...",
"invalidFile": "Ongeldig bestand",
"invalidFileMsg": "Selecteer een geldig PDF-bestand.",
"loadError": "Kon PDF niet laden. Het bestand kan beschadigd zijn of met een wachtwoord beveiligd zijn."
},
"posterizePdf": {
"name": "PDF-Poster",