今天想看看,基于clodop和Chrome原生打印的标签实现方法与性能对比。先看看DeepSeek关于这个问题的回答!


CloudPrint 和 Chrome 原生打印的区别

基本概念差异

  1. CloudPrint (Clodop)

    • 是基于云的打印服务解决方案
    • 需要安装专门的客户端程序
    • 支持跨平台、跨设备打印
  2. Chrome 原生打印

    • 是浏览器内置的打印功能
    • 直接调用操作系统打印接口
    • 不需要额外安装软件

功能特性对比

特性CloudPrint (Clodop)Chrome 原生打印
安装要求需要安装客户端无需安装
跨平台支持优秀一般
打印预览自定义预览界面浏览器标准预览
标签打印支持专业支持基本支持
打印精度控制更精细一般
批量打印支持更好有限支持
打印模板管理有专门管理系统
网络打印支持远程打印仅本地打印

标签打印的具体区别

  1. 打印精度

    • Clodop: 提供更高精度的DPI控制,适合精细标签
    • Chrome: 依赖系统打印设置,精度有限
  2. 模板支持

    • Clodop: 支持保存和调用打印模板
    • Chrome: 每次需要重新设置格式
  3. 批量处理

    • Clodop: 优化了批量标签打印流程
    • Chrome: 批量打印效率较低
  4. 特殊格式

    • Clodop: 支持条形码、二维码等特殊标签格式
    • Chrome: 支持有限

当然主角 Claude还是采用➡️ Windows下用docker desktop搭建Claude code 一文中的方式!

  1. 首先使用clodop(老肚皮),主要缺点是需要给每个电脑安装客户端!再就是免预览打印需要买授权。
    在这里插入图片描述
    第一次提示词说的不对,说成了lodop,马上改!
    在这里插入图片描述
    看看成果!很细节的做了个测试页面~
    在这里插入图片描述
  • 老肚皮打印预览效果!消耗2500积分(实现代码在文末)

在这里插入图片描述


  1. 再试试chrome浏览器版本!优点不用额外装东西!

在这里插入图片描述

  • 有了前面成果的参照,2分钟就完成了。
    在这里插入图片描述
  • 出来了,效果怎么说呢,DeepSeek没讲错,很一般!
    在这里插入图片描述

最后,奉上核心代码!先看clodop版本!

function createPrintJob(isPreview) {const sampleId = document.getElementById('sampleId').value;const patientName = document.getElementById('patientName').value;const patientId = document.getElementById('patientId').value;const gender = document.getElementById('gender').value;const age = document.getElementById('age').value;const center = document.getElementById('center').value;const testItem = document.getElementById('testItem').value;const identifier = document.getElementById('identifier').value;const now = new Date();const dateTime = `${String(now.getFullYear()).substr(-2)}-${String(now.getMonth()+1).padStart(2,'0')}-${String(now.getDate()).padStart(2,'0')} ${String(now.getHours()).padStart(2,'0')}:${String(now.getMinutes()).padStart(2,'0')}:${String(now.getSeconds()).padStart(2,'0')}`;log('创建打印任务,参数:');log(`样本编号: ${sampleId}`);log(`患者信息: ${patientName} ${patientId} ${gender} ${age}`);log(`中心: ${center}`);log(`项目: ${testItem}`);log(`标识: ${identifier}`);log(`时间: ${dateTime}`);// 初始化打印任务CLODOP.PRINT_INIT("瓶签打印");// 设置纸张大小为50*30mm (单位:0.1mm)CLODOP.SET_PRINT_PAGESIZE(1, 500, 300, "");log('设置纸张大小: 50*30mm');// 添加条形码CLODOP.ADD_PRINT_BARCODE(10, 40, 135, 40, "128A", sampleId);CLODOP.SET_PRINT_STYLEA(0, "ShowBarText", 0);log('添加条形码: ' + sampleId);// 添加样本编号 - 条码下方居中CLODOP.ADD_PRINT_TEXT(50, 20, 110, 15, sampleId);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 10);// CLODOP.SET_PRINT_STYLEA(0, "Bold", 1);CLODOP.SET_PRINT_STYLEA(0, "Alignment", 2);// 添加患者信息行const patientInfo = `${patientName} ${patientId} ${gender} ${age}`;CLODOP.ADD_PRINT_TEXT(65, 20, 150, 12, patientInfo);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 8);LODOP.SET_PRINT_STYLEA(3,"FontName","微软雅黑");// 添加体检中心CLODOP.ADD_PRINT_TEXT(80, 20, 120, 12, center);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 8);LODOP.SET_PRINT_STYLEA(3,"FontName","微软雅黑");// 添加检验项目CLODOP.ADD_PRINT_TEXT(92, 20, 180, 12, testItem);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 8);LODOP.SET_PRINT_STYLEA(3,"FontName","微软雅黑");// 添加日期时间 - 右中CLODOP.ADD_PRINT_TEXT(40, 150, 60, 50, dateTime);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 6); CLODOP.SET_PRINT_STYLEA(0, "Bold", 1);  LODOP.SET_PRINT_STYLEA(3,"FontName","仿宋");// 添加标识 - 右上角CLODOP.ADD_PRINT_TEXT(10, 130, 50, 10, identifier);CLODOP.SET_PRINT_STYLEA(0, "FontSize", 9);CLODOP.SET_PRINT_STYLEA(0, "Alignment", 3);            LODOP.SET_PRINT_STYLEA(3,"FontName","微软雅黑");// 执行打印if (isPreview) {CLODOP.PREVIEW();} else {CLODOP.PREVIEW();}}

再看看chrome的版本


<!-- 打印内容区域 --><div class="print-content" id="printContent"><div class="print-barcode"><svg id="printBarcode"></svg></div><div class="print-sample-id" id="printSampleId"></div><div class="print-patient-info" id="printPatientInfo"></div><div class="print-center" id="printCenter"></div><div class="print-test-item" id="printTestItem"></div><div class="print-datetime" id="printDateTime"></div><div class="print-identifier" id="printIdentifier"></div></div>
function updatePrintContent() {// 获取表单数据 - 基于print.html的createPrintJob方法const sampleId = $('#sampleId').val();const patientName = $('#patientName').val();const patientId = $('#patientId').val();const gender = $('#gender').val();const age = $('#age').val();const center = $('#center').val();const testItem = $('#testItem').val();const identifier = $('#identifier').val();const dateTime = updateDateTime();// 生成条码 - 对应CLodop的128A格式if (sampleId) {// 预览条码try {JsBarcode("#previewBarcode", sampleId, {format: "CODE128A",width: 1,height: 30,displayValue: false,margin: 0});} catch (e) {console.error('预览条码生成失败:', e);}// 打印条码 - 尺寸对应CLodop W=135, H=40try {JsBarcode("#printBarcode", sampleId, {format: "CODE128A",width: 1,height: 40,displayValue: false,margin: 0});} catch (e) {console.error('打印条码生成失败:', e);}}// 更新预览内容$('#previewContent').html(`<div style="position:absolute; top:5px; right:5px; font-size:9px;">${identifier}</div><div style="text-align:center; font-weight:normal; font-size:10px; margin-bottom:3px;">${sampleId}</div><div style="font-size:8px; margin:1px 0;">${patientName} ${patientId} ${gender} ${age}</div><div style="font-size:8px; margin:1px 0;">${center}</div><div style="font-size:8px; margin:1px 0;">${testItem}</div><div style="position:absolute; top:35px; right:5px; font-size:6px; font-weight:bold;">${dateTime}</div>`);// 更新打印内容 - 完全按照CLodop布局$('#printSampleId').text(sampleId);$('#printPatientInfo').text(`${patientName} ${patientId} ${gender} ${age}`);$('#printCenter').text(center);$('#printTestItem').text(testItem);$('#printDateTime').text(dateTime);$('#printIdentifier').text(identifier);}function printLabel() {// 更新打印内容updatePrintContent();// 延迟一下确保条码生成完成setTimeout(function() {// 调用浏览器打印window.print();}, 100);}
/* 打印样式 - 基于CLodop的精确坐标转换 */@media print {* {margin: 0;padding: 0;box-sizing: border-box;page-break-inside: avoid;}body {background: white;font-family: "Microsoft YaHei", Arial, sans-serif;width: 50mm !important;height: 30mm !important;overflow: hidden !important;}/* 隐藏非打印元素 */.container, .title, .form-group, .buttons, .preview {display: none !important;}/* 显示打印内容 */.print-content {display: block !important;width: 50mm;height: 30mm;position: relative;page-break-after: avoid;page-break-inside: avoid;box-sizing: border-box;}/* 设置页面大小 */@page {size: 50mm 30mm;margin: 0;padding: 0;}html, body {width: 50mm;height: 30mm;overflow: hidden;}/* 条形码区域 - 对应 CLODOP Y=10, X=40, W=135, H=40 */.print-barcode {position: absolute;top: 1mm;        /* Y=10 -> 1mm */left: 4mm;       /* X=40 -> 4mm */width: 13.5mm;   /* W=135 -> 13.5mm */height: 4mm;     /* H=40 -> 4mm */}.print-barcode svg {width: 100%;height: 100%;}/* 样本编号 - 对应 Y=50, X=20, W=110, H=15 */.print-sample-id {position: absolute;top: 5.5mm;        /* Y=50 -> 5mm */left: 3mm;       /* X=20 -> 2mm */width: 11mm;     /* W=110 -> 11mm */text-align: center;font-size: 5px;font-family: "Microsoft YaHei", Arial, sans-serif;}/* 患者信息 - 对应 Y=65, X=20, W=150, H=12 */.print-patient-info {position: absolute;top: 7.5mm;      /* Y=65 -> 6.5mm */left: 3mm;       /* X=20 -> 2mm */width: 20mm;     /* W=150 -> 15mm */font-size: 5px;font-family: "Microsoft YaHei", Arial, sans-serif;}/* 体检中心 - 对应 Y=80, X=20, W=120, H=12 */.print-center {position: absolute;top: 9.5mm;        /* Y=80 -> 8mm */left: 3mm;       /* X=20 -> 2mm */width: 12mm;     /* W=120 -> 12mm */font-size: 5px;font-family: "Microsoft YaHei", Arial, sans-serif;}/* 检验项目 - 对应 Y=92, X=20, W=180, H=12 */.print-test-item {position: absolute;top: 12mm;      /* Y=92 -> 9.2mm */left: 3mm;       /* X=20 -> 2mm */width: 18mm;     /* W=180 -> 18mm */font-size: 5px;font-family: "Microsoft YaHei", Arial, sans-serif;}/* 日期时间 - 对应 Y=40, X=150, W=60, H=50 */.print-datetime {position: absolute;top: 4mm;        /* Y=40 -> 4mm */right: 2mm;      /* X=150 -> 15mm */width: 6mm;      /* W=60 -> 6mm */font-size: 4px;font-weight: bold;font-family: "FangSong", serif;}/* 标识 - 对应 Y=10, X=130, W=50, H=10 */.print-identifier {position: absolute;top: 1mm;        /* Y=10 -> 1mm */right: 2mm;      /* X=130+对齐调整 */font-size: 5px;font-family: "Microsoft YaHei", Arial, sans-serif;}}/* 屏幕上隐藏打印内容 */.print-content {display: none;}

适用场景建议

  • 选择Clodop:

    • 需要专业标签打印
    • 大量或批量打印需求
    • 需要精确控制打印布局
    • 跨设备/网络打印需求
  • 选择Chrome原生打印:

    • 简单、临时的打印需求
    • 不想安装额外软件
    • 对打印精度要求不高
    • 单次少量打印

结论:两者可以配合使用,根据具体需求选择合适的打印方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92574.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92574.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92574.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度网盘如何做到下载速度最快?OpenSpeedy绿色安装版下载,开源免费网盘加速

下载地址获取点击这里打开&#xff1a;OpenSpeedy下载地址 打开解压后的文件夹&#xff0c;找到【OpenSpeedy.exe】应用程序&#xff0c;右键选择【以管理员身份运行】。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 主要特性&#xff1a; 免费开源蛮…

科技云报到:热链路革命:阿卡 CRM 的 GTM 定位突围

科技云报道原创。在企业数字化的工具箱里&#xff0c;“CRM” 一词早已不是 “全流程客户管理” 的代名词&#xff0c;而是从营销获客到客户信息沉淀&#xff0c;再到长期关系维护&#xff0c;仿佛要包揽从线索到复购的所有环节。但成立仅两年半的阿卡 CRM&#xff0c;却在实践…

什么是Graphical Abstract

什么是Graphical Abstract 现在都需要用Graphical Abstract&#xff0c;新加的好像。图形摘要&#xff08;Graphical Abstract&#xff09;是学术论文中一种以可视化方式浓缩呈现研究核心内容的图表&#xff0c;它通过简洁的图形、流程图、示意图或组合视觉元素&#xff0c;直观…

心灵笔记:正念冥想

定义&#xff1a;正念冥想&#xff08;Mindfulness Meditation&#xff09;是一种源自东方禅修、结合现代心理学的心理训练方法&#xff0c;核心是有意识地将注意力集中在当下的体验上&#xff0c;不加评判地觉察自身的 thoughts&#xff08;想法&#xff09;、feelings&#x…

微软推出革命性AI安全工具Project IRE,重塑网络安全防御新范式

面对日益复杂的网络安全威胁&#xff0c;微软近日发布了具有里程碑意义的Project IRE AI工具。这项创新性解决方案将人工智能与逆向工程技术深度融合&#xff0c;开创了自动化威胁检测的新纪元。据微软官方披露&#xff0c;该工具能够在不依赖人工干预的情况下&#xff0c;自主…

C#Attribute(特性)的定义与使用

1.什么是 Attribute1.1 定义 Attribute 是一种“声明式元数据&#xff08;declarative metadata&#xff09;”机制。 • 附加位置&#xff1a;程序集、模块、类型、字段、属性、方法、方法参数、方法返回值、事件、泛型参数、局部变量、本地函数、Lambda 表达式、甚至表达式树…

飞书对接E签宝完整方案

1、概述飞书和E签宝在各自领域都属于领先的产品&#xff0c;但因为E签宝与钉钉的特殊关系&#xff0c;一直以来E签宝都只实现了与钉钉的深度集成&#xff0c;一家企业如果想同时使用飞书和E签宝&#xff0c;则需要通过S-HUB这样的产品来进行桥接&#xff0c;用户在飞书端审批&a…

Mysql快速导出数据库设计说明书word文档(表结构、类型、注释、是否有主键)

主要有三种方式&#xff0c;根据你的需求来选择&#xff1a; 1、Mysql语句查询 优点&#xff1a;无需安装额外的软件&#xff0c;使用你常用的数据库可视化工具即可 缺点&#xff1a;受限于你的数据库可视化工具的导出功能&#xff0c;需要额外写脚本进行处理 2、Python脚本…

DigitalProductId解密算法php调试版piddebug.php

<?php // 使用数组字面量 $digits [B, C, D, F, G, H, J, K, M, P, Q, R,T, V, W, X, Y, 2, 3, 4, 6, 7, 8, 9]; //foreach ($digits as $digit) { // echo $digit."<br>"; //}$hexPidarray(0xc2,0x49,0x4b,0xcc,0x60,0x34,0x09,0xcd,0x96,0xf7,0xec,0…

IDEA快捷键壁纸分享

说明&#xff08;1&#xff09;因为显示器的尺寸不同&#xff0c;对快捷键显示的位置稍作调整 &#xff08;2&#xff09;这里默认您熟悉常用的快捷键&#xff0c;分享一些功能好用但是用的少的快捷键空壁纸笔记本壁纸&#xff08;15.6寸&#xff09;24 寸显示器壁纸

InnoDB vs MyISAM: MySQL存储引擎的世纪对决

选错存储引擎&#xff1f;你的数据库性能可能暴跌80%&#xff01; 本文用最直观的对比拆解MySQL两大核心存储引擎的差异&#xff0c;让你彻底明白什么场景该选谁。一、引擎全景图: 数据库的"心脏"之争 ❤️ #mermaid-svg-KTQko8kEUvOkTb4L {font-family:"trebuc…

【Avalonia】无开发者账号使用iOS真机调试跨平台应用

文章目录1. 要求1.1 无需Apple开发者账号1.2 最新版mac系统1.3 最新版Xcode2. 配对Mac3. 配置开发证书3.1 创建一个名为MTClient的Xcode项目3.2 找到签名证书3.3 配置签名3.4 配置标识符4. 真机调试4.1 设置应用首屏 Launch Screen4.2 设置应用图标5. 问题5.1 DI异常该问题的解…

【LLM实战|langchain】langchain基础

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 【LLM实战|langchain】langchain基础 1. 模型 I/O 封装 把不同的模型&#xff0c;统一封装成一个接口&#xff0c;方便更换模型而不用重构代码。 1.1 …

十九、MySQL-DQL-基本查询

基本查询代码&#xff1a;DQL:基本查询 1.查询指定字段 name,entrydate 并返回 -- 1.查询指定字段 name,entrydate 并返回 select name,entrydate from tb_emp;2.查询返回所有字段 -- 2.查询返回所有字段 -- 推荐 select id, username, password, name, gender, image, job, e…

CamX-骁龙相机修改

1. 修改视频模式预览尺寸和分辨率 vendor/codeaurora/packages/apps/SnapdragonCamera/src/com/android/camera/CaptureModule.javaprivate void updatePreviewSize() {int width mPreviewSize.getWidth();int height mPreviewSize.getHeight(); - mPreviewSize new …

容器技术基础与实践:从镜像管理到自动运行配置全攻略

1. 相比较虚拟机&#xff0c;容器有哪些技术优势&#xff1f;&#xff08;1&#xff09;直接在操作系统上运行&#xff0c;从而跨系统上的所有容器共享资源&#xff0c;‘&#xff08;2&#xff09;共享主机的内核。&#xff08;3&#xff09;与虚拟机相比&#xff0c;它需要的…

书生浦语第五期-L1G4-InternLM 论文分类微调实践(XTuner 版)

XTuner介绍一句话介绍XTuner&#xff1a;XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。核心特点&#xff1a;高效&#xff1a;支持在有限资源下微调大模型&#xff0c;如在8GB显存上微调7B参数模型&#xff0c;也支持多节点微调70B模型&#xff1b;自动分发高性能算…

从灵感枯竭到批量产出:无忧秘书创作平台如何重构内容生产者的工作流程?全环节赋能分析

在当今快节奏的数字时代&#xff0c;内容创作者面临着前所未有的挑战。无论是自媒体运营者、自由撰稿人还是企业营销人员&#xff0c;都需要高效地生产高质量的内容以满足市场需求。然而&#xff0c;灵感枯竭、效率低下以及内容质量不稳定等问题常常困扰着这些内容生产者。为了…

【开源工具】基于Python的PDF清晰度增强工具全解析(附完整源码)

📄✨ 【开源工具】基于Python的PDF清晰度增强工具全解析(附完整源码) 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持,我们一起进…

Qwen-Image开源模型实战

Qwen-Image开源模型实战&#xff1a;ComfyUI低显存量化部署与中文海报生成指南 阿里云通义千问团队最新开源的Qwen-Image模型以其卓越的中英文文本渲染能力在AI绘图领域掀起了一场革命。这款200亿参数的MMDiT架构模型不仅能够生成高质量图像&#xff0c;更突破了AI绘图长期存在…