Showing
1 changed file
with
0 additions
and
35 deletions
| @@ -71,7 +71,6 @@ from .html_renderer import HTMLRenderer | @@ -71,7 +71,6 @@ from .html_renderer import HTMLRenderer | ||
| 71 | from .pdf_layout_optimizer import PDFLayoutOptimizer, PDFLayoutConfig | 71 | from .pdf_layout_optimizer import PDFLayoutOptimizer, PDFLayoutConfig |
| 72 | from .chart_to_svg import create_chart_converter | 72 | from .chart_to_svg import create_chart_converter |
| 73 | from .math_to_svg import MathToSVG | 73 | from .math_to_svg import MathToSVG |
| 74 | -from .markdown_renderer import MarkdownRenderer | ||
| 75 | try: | 74 | try: |
| 76 | from wordcloud import WordCloud | 75 | from wordcloud import WordCloud |
| 77 | WORDCLOUD_AVAILABLE = True | 76 | WORDCLOUD_AVAILABLE = True |
| @@ -103,7 +102,6 @@ class PDFRenderer: | @@ -103,7 +102,6 @@ class PDFRenderer: | ||
| 103 | """ | 102 | """ |
| 104 | self.config = config or {} | 103 | self.config = config or {} |
| 105 | self.html_renderer = HTMLRenderer(config) | 104 | self.html_renderer = HTMLRenderer(config) |
| 106 | - self.markdown_renderer = MarkdownRenderer() | ||
| 107 | self.layout_optimizer = layout_optimizer or PDFLayoutOptimizer() | 105 | self.layout_optimizer = layout_optimizer or PDFLayoutOptimizer() |
| 108 | 106 | ||
| 109 | if not WEASYPRINT_AVAILABLE: | 107 | if not WEASYPRINT_AVAILABLE: |
| @@ -812,36 +810,6 @@ class PDFRenderer: | @@ -812,36 +810,6 @@ class PDFRenderer: | ||
| 812 | 810 | ||
| 813 | return html | 811 | return html |
| 814 | 812 | ||
| 815 | - def _build_markdown_filename(self, document_ir: Dict[str, Any]) -> str: | ||
| 816 | - """根据元数据生成Markdown文件名""" | ||
| 817 | - metadata = document_ir.get("metadata") or {} | ||
| 818 | - title = metadata.get("title") or metadata.get("query") or metadata.get("reportId") or "report" | ||
| 819 | - safe = "".join(ch for ch in str(title) if ch.isalnum() or ch in (" ", "-", "_")).strip() | ||
| 820 | - safe = safe.replace(" ", "_")[:80] or "report" | ||
| 821 | - timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") | ||
| 822 | - return f"{safe}_{timestamp}.md" | ||
| 823 | - | ||
| 824 | - def _export_markdown(self, document_ir: Dict[str, Any]) -> None: | ||
| 825 | - """ | ||
| 826 | - 使用检查/修复后的IR生成Markdown版本。 | ||
| 827 | - | ||
| 828 | - - 图表/词云等交互组件降级为原始表格数据; | ||
| 829 | - - 遇到异常时仅记录警告,不阻断PDF/HTML流程。 | ||
| 830 | - """ | ||
| 831 | - try: | ||
| 832 | - markdown_content = self.markdown_renderer.render(document_ir) | ||
| 833 | - if not markdown_content.strip(): | ||
| 834 | - logger.debug("Markdown渲染结果为空,跳过落盘") | ||
| 835 | - return | ||
| 836 | - | ||
| 837 | - output_dir = Path("final_reports/markdown") | ||
| 838 | - output_dir.mkdir(parents=True, exist_ok=True) | ||
| 839 | - file_path = output_dir / self._build_markdown_filename(document_ir) | ||
| 840 | - file_path.write_text(markdown_content, encoding="utf-8") | ||
| 841 | - logger.info(f"已静默生成Markdown报告: {file_path}") | ||
| 842 | - except Exception as exc: | ||
| 843 | - logger.warning(f"生成Markdown报告失败(已忽略,不影响PDF/HTML): {exc}") | ||
| 844 | - | ||
| 845 | def _get_pdf_html( | 813 | def _get_pdf_html( |
| 846 | self, | 814 | self, |
| 847 | document_ir: Dict[str, Any], | 815 | document_ir: Dict[str, Any], |
| @@ -899,9 +867,6 @@ class PDFRenderer: | @@ -899,9 +867,6 @@ class PDFRenderer: | ||
| 899 | logger.info("开始转换数学公式为SVG矢量图形...") | 867 | logger.info("开始转换数学公式为SVG矢量图形...") |
| 900 | math_svg_map = self._convert_math_to_svg(preprocessed_ir) | 868 | math_svg_map = self._convert_math_to_svg(preprocessed_ir) |
| 901 | 869 | ||
| 902 | - # 在渲染HTML前静默导出Markdown版本 | ||
| 903 | - self._export_markdown(preprocessed_ir) | ||
| 904 | - | ||
| 905 | # 使用HTML渲染器生成基础HTML(使用预处理后的IR,以便复用mathId等标记) | 870 | # 使用HTML渲染器生成基础HTML(使用预处理后的IR,以便复用mathId等标记) |
| 906 | html = self.html_renderer.render(preprocessed_ir) | 871 | html = self.html_renderer.render(preprocessed_ir) |
| 907 | 872 |
-
Please register or login to post a comment