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

@@ -288,7 +288,47 @@
},
"comparePdfs": {
"name": "PDF'leri Karşılaştır",
"subtitle": "İki PDF'yi yan yana karşılaştırın."
"subtitle": "İki PDF'yi yan yana karşılaştırın.",
"firstPdf": "İlk PDF",
"secondPdf": "İkinci PDF",
"clickOrDrop": "Tıklayın veya bırakın",
"page": "Sayfa",
"overlay": "Üst üste",
"sideBySide": "Yan yana",
"flicker": "Titreşim",
"syncScroll": "Kaydırmayı senkronize et",
"export": "Dışa aktar",
"exportAsPdf": "PDF olarak dışa aktar",
"splitView": "Bölünmüş görünüm",
"alternating": "Sırayla",
"leftDocument": "Sol belge",
"rightDocument": "Sağ belge",
"original": "Orijinal",
"modified": "Değiştirilmiş",
"searchChanges": "Değişiklikleri ara...",
"deleted": "Silindi",
"added": "Eklendi",
"prevPage": "Önceki sayfa",
"nextPage": "Sonraki sayfa",
"prevChange": "Önceki değişiklik",
"nextChange": "Sonraki değişiklik",
"uploadTwoPdfs": "Farkları görmek için iki PDF yükleyin.",
"noDifferences": "Bu sayfada fark algılanmadı.",
"noMatchingChanges": "Geçerli filtreyle eşleşen değişiklik yok.",
"pageNotExist": "{{page}} sayfası bu PDF'de yok.",
"noPairedPage": "Bu taraf için eşleştirilmiş sayfa yok.",
"buildingModel": "Sayfa eşleştirme modeli oluşturuluyor...",
"indexingPdf": "PDF {{num}} için {{total}} içinden {{page}}. sayfa dizinleniyor...",
"loadingComparison": "{{total}} içinden {{current}}. karşılaştırma yükleniyor...",
"runningOcr": "{{page}}. sayfada OCR çalıştırılıyor...",
"preparingExport": "PDF dışa aktarma hazırlanıyor...",
"renderingPage": "{{total}} içinden {{current}}. sayfa işleniyor...",
"exportError": "Dışa aktarma hatası",
"exportFailed": "Karşılaştırma PDF'i dışa aktarılamadı.",
"loadingFile": "{{name}} yükleniyor...",
"invalidFile": "Geçersiz dosya",
"invalidFileMsg": "Lütfen geçerli bir PDF dosyası seçin.",
"loadError": "PDF yüklenemedi. Bozuk olabilir veya parola korumalı olabilir."
},
"posterizePdf": {
"name": "PDF'yi Posta Boyutuna Böl",