Toggle navigation
Toggle navigation
This project
Loading...
Sign in
万朱浩
/
Venue-Ops
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
马一丁
2025-11-19 14:45:17 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
29dd0257783adc55551e3a7793a5430d9a31034f
29dd0257
1 parent
511452b2
Optimize PDF Export Logic When Using report_engine_only.py
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
7 deletions
report_engine_only.py
report_engine_only.py
View file @
29dd025
...
...
@@ -324,10 +324,7 @@ def save_pdf(document_ir_path: str, query: str) -> Optional[str]:
from
ReportEngine.renderers
import
PDFRenderer
renderer
=
PDFRenderer
()
# 生成PDF字节流
pdf_bytes
=
renderer
.
render_to_bytes
(
document_ir
,
optimize_layout
=
True
)
# 保存PDF文件
# 准备输出路径
timestamp
=
datetime
.
now
()
.
strftime
(
"
%
Y
%
m
%
d_
%
H
%
M
%
S"
)
query_safe
=
""
.
join
(
c
for
c
in
query
if
c
.
isalnum
()
or
c
in
(
" "
,
"-"
,
"_"
)
...
...
@@ -340,13 +337,24 @@ def save_pdf(document_ir_path: str, query: str) -> Optional[str]:
pdf_filename
=
f
"final_report_{query_safe}_{timestamp}.pdf"
pdf_path
=
pdf_dir
/
pdf_filename
pdf_path
.
write_bytes
(
pdf_bytes
)
# 使用 render_to_pdf 方法直接生成PDF文件(与regenerate_latest_pdf.py一致)
logger
.
info
(
f
"开始渲染PDF: {pdf_path}"
)
result_path
=
renderer
.
render_to_pdf
(
document_ir
,
pdf_path
,
optimize_layout
=
True
)
# 显示文件大小
file_size
=
result_path
.
stat
()
.
st_size
size_mb
=
file_size
/
(
1024
*
1024
)
logger
.
success
(
f
"✓ PDF 已保存: {pdf_path}"
)
return
str
(
pdf_path
)
logger
.
info
(
f
" 文件大小: {size_mb:.2f} MB"
)
return
str
(
result_path
)
except
Exception
as
e
:
logger
.
e
rror
(
f
"❌ PDF 生成失败: {e}"
)
logger
.
e
xception
(
f
"❌ PDF 生成失败: {e}"
)
return
None
...
...
Please
register
or
login
to post a comment