Files
OCR/openspec/changes/archive/2025-12-02-add-translated-pdf-export/tasks.md
egg a07aad96b3 feat: add translated PDF export with layout preservation
Adds the ability to download translated documents as PDF files while
preserving the original document layout. Key changes:

- Add apply_translations() function to merge translation JSON with UnifiedDocument
- Add generate_translated_pdf() method to PDFGeneratorService
- Add POST /api/v2/translate/{task_id}/pdf endpoint
- Add downloadTranslatedPdf() method and PDF button in frontend
- Add comprehensive unit tests (52 tests: merge, PDF generation, API endpoints)
- Archive add-translated-pdf-export proposal

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 12:33:31 +08:00

41 lines
1.5 KiB
Markdown

# Tasks: Add Translated PDF Export
## 1. Backend - Translation Merger Service
- [x] 1.1 Create `apply_translations()` function in `translation_service.py`
- [x] 1.2 Implement table cell translation merging logic
- [x] 1.3 Add unit tests for translation merging
## 2. Backend - PDF Generator Enhancement
- [x] 2.1 Add `generate_translated_pdf()` method to `PDFGeneratorService`
- [x] 2.2 Load translation JSON and merge with UnifiedDocument
- [x] 2.3 Handle missing translations gracefully (fallback to original)
- [x] 2.4 Add unit tests for translated PDF generation
## 3. Backend - API Endpoint
- [x] 3.1 Add `POST /api/v2/translate/{task_id}/pdf` endpoint in `translate.py`
- [x] 3.2 Validate task exists and has completed translation
- [x] 3.3 Return appropriate errors (404 if no translation, 400 if task not complete)
- [x] 3.4 Add endpoint tests
## 4. Frontend - UI Integration
- [x] 4.1 Add `downloadTranslatedPdf()` method to `apiV2.ts`
- [x] 4.2 Add "Download Translated PDF" button in `TaskDetailPage.tsx`
- [x] 4.3 Show button only when translation status is "completed"
- [x] 4.4 Add loading state during PDF generation
## 5. Testing & Validation
- [x] 5.1 End-to-end test: translate document then download PDF
- [x] 5.2 Test with Direct track document
- [x] 5.3 Test with OCR track document
- [x] 5.4 Test with document containing tables
## 6. Documentation
- [ ] 6.1 Update API documentation with new endpoint
- [ ] 6.2 Add usage example in README if applicable