Commit e422bdc0 authored by myhloli's avatar myhloli
Browse files

fix: add checks for empty overlay PDFs and log warnings for invalid pages

parent 4f6d8d7c
import json import json
from io import BytesIO from io import BytesIO
from loguru import logger
from pypdf import PdfReader, PdfWriter from pypdf import PdfReader, PdfWriter
from reportlab.pdfgen import canvas from reportlab.pdfgen import canvas
...@@ -182,7 +183,13 @@ def draw_layout_bbox(pdf_info, pdf_bytes, out_path, filename): ...@@ -182,7 +183,13 @@ def draw_layout_bbox(pdf_info, pdf_bytes, out_path, filename):
packet.seek(0) packet.seek(0)
overlay_pdf = PdfReader(packet) overlay_pdf = PdfReader(packet)
page.merge_page(overlay_pdf.pages[0]) # 添加检查确保overlay_pdf.pages不为空
if len(overlay_pdf.pages) > 0:
page.merge_page(overlay_pdf.pages[0])
else:
# 记录日志并继续处理下一个页面
logger.warning(f"layout.pdf: 第{i + 1}页未能生成有效的overlay PDF")
output_pdf.add_page(page) output_pdf.add_page(page)
# 保存结果 # 保存结果
...@@ -290,7 +297,13 @@ def draw_span_bbox(pdf_info, pdf_bytes, out_path, filename): ...@@ -290,7 +297,13 @@ def draw_span_bbox(pdf_info, pdf_bytes, out_path, filename):
packet.seek(0) packet.seek(0)
overlay_pdf = PdfReader(packet) overlay_pdf = PdfReader(packet)
page.merge_page(overlay_pdf.pages[0]) # 添加检查确保overlay_pdf.pages不为空
if len(overlay_pdf.pages) > 0:
page.merge_page(overlay_pdf.pages[0])
else:
# 记录日志并继续处理下一个页面
logger.warning(f"span.pdf: 第{i + 1}页未能生成有效的overlay PDF")
output_pdf.add_page(page) output_pdf.add_page(page)
# Save the PDF # Save the PDF
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment