feat: unify Direct Track PDF rendering and simplify export options
Backend changes: - Apply background image + invisible text layer to all Direct Track PDFs - Add CHART to regions_to_avoid for text extraction - Improve visual fidelity for native PDFs and Office documents Frontend changes: - Remove JSON, UnifiedDocument, Markdown download buttons - Simplify to 2-column layout with only Layout PDF and Reflow PDF - Remove translation JSON download and Layout PDF option - Keep only Reflow PDF for translated document downloads - Clean up unused imports (FileJson, Database, FileOutput) Archives two OpenSpec proposals: - unify-direct-track-pdf-rendering - simplify-frontend-export-options 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Direct Track Background Image Rendering
|
||||
|
||||
The system SHALL render Direct Track PDF output using a full-page background image with an invisible text overlay to preserve visual fidelity while maintaining text extractability.
|
||||
|
||||
#### Scenario: Render Direct Track PDF with background image
|
||||
- **WHEN** generating Layout PDF for a Direct Track document
|
||||
- **THEN** the system SHALL render each source PDF page as a full-page background image at 2x resolution
|
||||
- **AND** overlay invisible text elements using PDF Text Rendering Mode 3
|
||||
- **AND** the invisible text SHALL be positioned at original coordinates for accurate selection
|
||||
|
||||
#### Scenario: Handle Office documents (PPT, DOC, XLS)
|
||||
- **WHEN** processing an Office document converted to PDF
|
||||
- **THEN** the system SHALL use the same background image + invisible text approach
|
||||
- **AND** preserve all visual elements including vector graphics, gradients, and complex layouts
|
||||
- **AND** the converted PDF in result directory SHALL be used as background source
|
||||
|
||||
#### Scenario: Handle native editable PDFs
|
||||
- **WHEN** processing a native PDF through Direct Track
|
||||
- **THEN** the system SHALL use the source PDF for background rendering
|
||||
- **AND** apply the same invisible text overlay approach
|
||||
- **AND** chart regions SHALL be excluded from the text layer
|
||||
|
||||
### Requirement: Chart Region Text Exclusion
|
||||
|
||||
The system SHALL exclude text elements within chart regions from the invisible text layer to prevent duplicate content and unnecessary translation.
|
||||
|
||||
#### Scenario: Detect chart regions
|
||||
- **WHEN** classifying page elements for Direct Track
|
||||
- **THEN** the system SHALL identify elements with type CHART
|
||||
- **AND** add chart bounding boxes to regions_to_avoid list
|
||||
|
||||
#### Scenario: Exclude chart-internal text from invisible layer
|
||||
- **WHEN** rendering invisible text layer
|
||||
- **THEN** the system SHALL skip text elements whose bounding boxes overlap with chart regions
|
||||
- **AND** chart axis labels, legends, and data labels SHALL NOT be in the invisible text layer
|
||||
- **AND** these texts remain visible in the background image
|
||||
|
||||
#### Scenario: Chart text not available for translation
|
||||
- **WHEN** extracting text for translation from a Direct Track document
|
||||
- **THEN** chart-internal text SHALL NOT be included in translatable elements
|
||||
- **AND** this is expected behavior as chart labels typically don't require translation
|
||||
@@ -0,0 +1,36 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Enhanced PDF Export with Layout Preservation
|
||||
|
||||
The PDF export SHALL accurately preserve document layout from both OCR and direct extraction tracks with correct coordinate transformation and multi-page support. For Direct Track, a background image rendering approach SHALL be used for visual fidelity.
|
||||
|
||||
#### Scenario: Export PDF from direct extraction track
|
||||
- **WHEN** exporting PDF from a direct-extraction processed document
|
||||
- **THEN** the system SHALL render source PDF pages as full-page background images at 2x resolution
|
||||
- **AND** overlay invisible text elements using PDF Text Rendering Mode 3
|
||||
- **AND** text SHALL remain selectable and searchable despite being invisible
|
||||
- **AND** visual output SHALL match source document exactly
|
||||
|
||||
#### Scenario: Export PDF from OCR track with full structure
|
||||
- **WHEN** exporting PDF from OCR-processed document
|
||||
- **THEN** the PDF SHALL use all 23 PP-StructureV3 element types
|
||||
- **AND** render tables with proper cell boundaries
|
||||
- **AND** maintain reading order from parsing_res_list
|
||||
|
||||
#### Scenario: Handle coordinate transformations correctly
|
||||
- **WHEN** generating PDF from UnifiedDocument
|
||||
- **THEN** system SHALL use explicit page dimensions from OCR results (not inferred from bounding boxes)
|
||||
- **AND** correctly transform Y-axis coordinates from top-left (OCR) to bottom-left (PDF/ReportLab) origin
|
||||
- **AND** prevent vertical flipping or position misalignment errors
|
||||
|
||||
#### Scenario: Direct Track PDF file size increase
|
||||
- **WHEN** generating Layout PDF for Direct Track documents
|
||||
- **THEN** the system SHALL accept increased file size due to embedded page images
|
||||
- **AND** approximately 1-2 MB per page at 2x resolution is expected
|
||||
- **AND** this trade-off is accepted for improved visual fidelity
|
||||
|
||||
#### Scenario: Chart elements excluded from text layer
|
||||
- **WHEN** generating Layout PDF containing charts
|
||||
- **THEN** the system SHALL NOT include chart-internal text in the invisible text layer
|
||||
- **AND** chart visuals SHALL be preserved in the background image
|
||||
- **AND** chart text SHALL NOT be available for text selection or translation
|
||||
@@ -0,0 +1,46 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Translation Output as Reflow PDF
|
||||
|
||||
The system SHALL generate translated documents as reflow-layout PDFs with real visible text, separate from the Layout PDF which uses background images.
|
||||
|
||||
#### Scenario: Generate translated PDF with reflow layout
|
||||
- **WHEN** translation is completed for a document
|
||||
- **THEN** the system SHALL generate a new PDF with translated text
|
||||
- **AND** the translated PDF SHALL use reflow layout (not background image)
|
||||
- **AND** text SHALL be real visible text, not invisible overlay
|
||||
- **AND** page breaks SHALL correspond to original document pages
|
||||
|
||||
#### Scenario: Maintain page correspondence in translated output
|
||||
- **WHEN** generating translated PDF
|
||||
- **THEN** content from original page 1 SHALL appear in translated page 1
|
||||
- **AND** content from original page 2 SHALL appear in translated page 2
|
||||
- **AND** each page may have different content length but maintains page boundaries
|
||||
|
||||
#### Scenario: Chart text excluded from translation
|
||||
- **WHEN** extracting text for translation from Direct Track documents
|
||||
- **THEN** text elements within chart regions SHALL NOT be included
|
||||
- **AND** chart labels, axis text, and legends SHALL remain untranslated
|
||||
- **AND** this is expected behavior documented for users
|
||||
|
||||
### Requirement: Dual PDF Output Concept
|
||||
|
||||
The system SHALL maintain clear separation between Layout PDF (preview) and Translated PDF (output).
|
||||
|
||||
#### Scenario: Layout PDF for preview
|
||||
- **WHEN** user views a processed document before translation
|
||||
- **THEN** the Layout PDF SHALL be displayed
|
||||
- **AND** Layout PDF preserves exact visual appearance of source
|
||||
- **AND** text is invisible overlay for extraction purposes only
|
||||
|
||||
#### Scenario: Translated PDF for final output
|
||||
- **WHEN** user requests translated document
|
||||
- **THEN** the Translated PDF SHALL be generated
|
||||
- **AND** Translated PDF uses reflow layout with visible translated text
|
||||
- **AND** original visual styling is not preserved (text-focused output)
|
||||
|
||||
#### Scenario: Both PDFs available after translation
|
||||
- **WHEN** translation is completed
|
||||
- **THEN** both Layout PDF and Translated PDF SHALL be available for download
|
||||
- **AND** user can choose which version to download
|
||||
- **AND** Layout PDF remains unchanged after translation
|
||||
Reference in New Issue
Block a user