diff --git a/jikimo_printing/models/jikimo_printing.py b/jikimo_printing/models/jikimo_printing.py index 2a41f39c..587aeb35 100644 --- a/jikimo_printing/models/jikimo_printing.py +++ b/jikimo_printing/models/jikimo_printing.py @@ -17,6 +17,11 @@ class JikimoPrinting(models.AbstractModel): """ 打印二维码 """ + printer = self.env['printing.printer'].get_default() + if not printer: + _logger.error("未找到默认打印机") + return False + # 生成二维码 qr = qrcode.QRCode(version=1, box_size=10, border=5) qr.add_data(data) @@ -45,19 +50,23 @@ class JikimoPrinting(models.AbstractModel): # 获取PDF内容并打印 pdf_content = pdf_buffer.getvalue() - printer = self.env['printing.printer'].get_default() - _logger.info(f"打印内容: {pdf_content}") + # _logger.info(f"打印内容: {pdf_content}") printer.print_document(report=None, content=pdf_content, doc_format='pdf') # 清理资源 pdf_buffer.close() temp_image.close() + return True + def print_pdf(self, pdf_data): """ 打印PDF """ - _logger.info("PDF打印开始") + printer = self.env['printing.printer'].get_default() + if not printer: + _logger.error("未找到默认打印机") + return False pdf_data_str = pdf_data.decode('ascii', errors='ignore') decoded_data = base64.b64decode(pdf_data_str) @@ -69,15 +78,10 @@ class JikimoPrinting(models.AbstractModel): # 获取PDF内容 pdf_content = pdf_buffer.getvalue() - _logger.info(f"处理后的内容前20字节: {pdf_content[:20]}") - - # 获取默认打印机 - printer = self.env['printing.printer'].get_default() - if not printer: - _logger.error("未找到默认打印机") - return printer.print_document(report=None, content=pdf_content, doc_format='pdf') # 清理资源 pdf_buffer.close() - _logger.info("PDF打印结束") \ No newline at end of file + + _logger.info("成功打印PDF") + return True \ No newline at end of file diff --git a/jikimo_printing/models/workorder_printing.py b/jikimo_printing/models/workorder_printing.py index 97c857ca..aedcffd9 100644 --- a/jikimo_printing/models/workorder_printing.py +++ b/jikimo_printing/models/workorder_printing.py @@ -21,8 +21,6 @@ class MrpWorkorder(models.Model): # 执行打印 self.env['jikimo.printing'].print_pdf(pdf_data) wo.production_id.product_id.is_print_program = True - _logger.info(f"工单 {wo.name} 的PDF已成功打印") - except Exception as e: _logger.error(f"工单 {wo.name} 的PDF打印失败: {str(e)}")