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",
"subtitle": "Параўнаць два PDF побач."
"subtitle": "Параўнаць два PDF побач.",
"firstPdf": "Першы PDF",
"secondPdf": "Другі PDF",
"clickOrDrop": "Націсніце або перацягніце",
"page": "Старонка",
"overlay": "Накладанне",
"sideBySide": "Побач",
"flicker": "Мігценне",
"syncScroll": "Сінхранізаваць пракрутку",
"export": "Экспарт",
"exportAsPdf": "Экспартаваць як PDF",
"splitView": "Падзелены выгляд",
"alternating": "Чаргаванне",
"leftDocument": "Левы дакумент",
"rightDocument": "Правы дакумент",
"original": "Арыгінал",
"modified": "Зменены",
"searchChanges": "Шукаць змены...",
"deleted": "Выдалена",
"added": "Дададзена",
"prevPage": "Папярэдняя старонка",
"nextPage": "Наступная старонка",
"prevChange": "Папярэдняя змена",
"nextChange": "Наступная змена",
"uploadTwoPdfs": "Загрузіце два PDF, каб убачыць адрозненні.",
"noDifferences": "На гэтай старонцы адрозненняў не выяўлена.",
"noMatchingChanges": "Няма змен, што адпавядаюць бягучаму фільтру.",
"pageNotExist": "Старонка {{page}} не існуе ў гэтым PDF.",
"noPairedPage": "Для гэтага боку няма спаранай старонкі.",
"buildingModel": "Стварэнне мадэлі супастаўлення старонак...",
"indexingPdf": "Індэксацыя PDF {{num}}, старонка {{page}} з {{total}}...",
"loadingComparison": "Загрузка параўнання {{current}} з {{total}}...",
"runningOcr": "Запуск OCR на старонцы {{page}}...",
"preparingExport": "Падрыхтоўка экспарту PDF...",
"renderingPage": "Адмалёўка старонкі {{current}} з {{total}}...",
"exportError": "Памылка экспарту",
"exportFailed": "Не ўдалося экспартаваць PDF параўнання.",
"loadingFile": "Загрузка {{name}}...",
"invalidFile": "Няправільны файл",
"invalidFileMsg": "Калі ласка, абярыце сапраўдны PDF-файл.",
"loadError": "Не ўдалося загрузіць PDF. Магчыма, ён пашкоджаны або абаронены паролем."
},
"posterizePdf": {
"name": "Пераўтварыць у постэр",