Phase 3 (Organize + robust save) + Phase 4 (Edit content); update docs
Engine: - organize.rs: build_document(plan) core — insert/delete/rotate/crop/extract/merge/split - watermark.rs: watermark + header/footer via PdfPages::watermark, CID Unicode fonts - qpdf.rs: QPDF CLI wrapper — repair corrupt files, re-encrypt after edits, ensure_openable - edit.rs: MOAT — list_objects + apply_edits (SetText VN, Transform, Delete, Add/ReplaceImage) - Tests: organize/watermark/qpdf_safety/edit roundtrip — 43/43 engine tests green UI (Tauri): "Tổ chức trang" mode (grid + drag-reorder + multi-select), "Sửa nội dung" mode (WYSIWYG object overlay, edit-in-place), global undo/redo, robust file open. Corpus: add encrypted.pdf + corrupt-truncated.pdf fixtures. Docs: mark Phase 1-4 done in roadmap; document QPDF setup + engine module layout in 05-dev-setup; add 10-13 phase summaries & user-test checklists; README status.
This commit is contained in:
+2
-2
@@ -7,12 +7,12 @@ Bộ file PDF dùng để test & hồi quy. Sẽ mở rộng dần theo roadmap.
|
||||
| `hello.pdf` | PDF tối giản 1 trang, text Helvetica, xref hợp lệ | Smoke test render (Phase 1) |
|
||||
| `sample-multipage.pdf` | 3 trang Letter, nội dung biết trước + outline (Chapter 1/2/3 → trang 0/1/2) | Test page_dims, extract_text, search, outline; demo viewer |
|
||||
| `big-1000.pdf` | 1000 trang ("Trang N"); trang index 500 có "ZZMARKER" | Stress-test hiệu năng/lazy-load (mở 55ms, render 110ms, search 79ms) |
|
||||
| `encrypted.pdf` | `sample-multipage.pdf` mã hoá AES-256 qua qpdf, user password `fofreexit`, owner password `owner-fofreexit` | Test QPDF encrypted-safe-save (Phase 3), bảo mật (Phase 5) |
|
||||
| `corrupt-truncated.pdf` | `sample-multipage.pdf` bị cắt cụt 200 byte cuối (mất trailer/startxref) — PDFium đọc thẳng bị `FormatError`, qpdf tự dựng lại xref và đọc lại được đủ 3 trang | Test QPDF repair-trước-khi-mở (Phase 3) |
|
||||
|
||||
## Cần bổ sung (các phase sau)
|
||||
- File nhiều trang (100+, 1000+) — hiệu năng & lazy load.
|
||||
- File scan (ảnh) — OCR (Phase 7).
|
||||
- File mã hoá (mật khẩu) — bảo mật (Phase 5).
|
||||
- File hỏng/xref sai — kiểm thử độ bền parser.
|
||||
- File tiếng Việt (font nhúng, tổ hợp dấu), CJK, RTL — edit text (Phase 4).
|
||||
- File có AcroForm — form (Phase 6).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user