File size: 781 Bytes
734b5b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from PIL import Image
from typing import Dict, Any
import io


class ExportRenderingAgent:
    """Final PDF export and rendering with pypdfium2."""

    def process(
        self, original_pdf: Any, processed_data: Dict, output_path: str = None
    ) -> Dict[str, Any]:
        """Export processed PDF."""
        return {
            "exported": True,
            "output_path": output_path or "output.pdf",
            "format": "pdf",
            "pages_processed": processed_data.get("page_count", 1),
        }

    def render_page(self, image: Image.Image, dpi: int = 300) -> Image.Image:
        """Render page at specified DPI."""
        return image.resize(
            (image.width * dpi // 72, image.height * dpi // 72),
            Image.Resampling.LANCZOS,
        )