将PDF一页裁剪成两页:解决打印难题




# 使用提醒:# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能# 3. 当此模块作为流程独立运行时执行main函数# 4. 可视化流程中可以通过"调用模块"的指令使用此模块import xbotfrom xbot import print, sleepfrom . import packagefrom .package import variables as glvimport copyfrom PyPDF2 import PdfReader, PdfWriterimport os # ←←← 关键:必须导入 os 模块!def main(args):try:input_path = args.strip() if isinstance(args, str) else ""if not input_path or not os.path.isfile(input_path):print("❌ 错误:未提供有效的PDF文件路径!")returndir_name = os.path.dirname(input_path)base_name = os.path.basename(input_path)name, ext = os.path.splitext(base_name)output_path = os.path.join(dir_name, f"new_{name}{ext}")print(f"📄 正在处理PDF: {input_path}")print(f"💾 输出路径: {output_path}")reader = PdfReader(input_path)writer = PdfWriter()for page in reader.pages:w = float(page.mediabox.width)h = float(page.mediabox.height)left = copy.copy(page)left.mediabox.lower_left = (0, 0)left.mediabox.upper_right = (w / 2 + 11, h)writer.add_page(left)right = copy.copy(page)right.mediabox.lower_left = (w / 2 - 15, 0)right.mediabox.upper_right = (w, h)writer.add_page(right)with open(output_path, "wb") as f:writer.write(f)print("✅ PDF处理完成!")glv.pdf_output_path = output_pathexcept Exception as e:print(f"💥 处理失败: {str(e)}")raise

夜雨聆风
