LODOP中打印项顶边距左边距,宽高,可以选择的单位很多,详细可在LODOP官网下载参考LODOP技术手册。

关于LODOP打印直线和虚线,可查看本博客相关博文:Lodop如何打印直线Lodop打印控件 如何打印虚线
在上诉打印直线的博文里,是这样介绍的:
线宽=高 -----水平直线
线宽=宽-----垂直直线
测试用的是打印设计的默认单位px,LODOP中的px并不是超文本中的相对单位px,而是绝对单位,1px等于1/96英寸,与正常DPI显示设置的像素值相等。如果采用该单位,那么正常显示的屏幕内容与实际打印输出的内容大小相当,这个长度单位可以实现感觉上的“所见等于所打”,px是缺省长度单位,如此以来,单位换算关系为:1in = 2.54cm = 25.4mm = 72pt = 96px。

而LODOP的打印设计生成代码的时候,可以选择单位转换,但是如上的换算关系,换算之后存在差值,换算的是保留两位小数,因此会出现,同一条直线,在打印设计里用px设计后打印出来是直线,但是用打印设计的生成代码的单位转换后,直线就不是直线,而是斜线了。

有客户反馈,横线把高设置成0,竖线把宽设置成0,用转换后的mm单位就可以了,个人实际测试了一下,确实是可以的,预览和打印都变成直线了,只是在打印设计,线条是看不出来的,只有左侧打印项列表能看到打印项的存在,点击左侧打印项列表可以选中打印项,查看到线条的位置。

测试代码

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">打印预览</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,1000,1000,"");
LODOP.ADD_PRINT_LINE(49,110,53,287,0,4);
LODOP.ADD_PRINT_LINE(18,65,144,69,0,4);
LODOP.NEWPAGE();
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","14.02mm","75.94mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.1mm","18.26mm",0,4);
LODOP.NEWPAGE();
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","13.02mm","75.91mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.07mm","17.25mm",0,4);
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
</script>
</body>

图示:
如图,打印设计的单位转换,单位转换保留两位小数,用转换成mm语句输出该线条,显示为斜线。
水平横线高度设置0,竖线宽设置0,打印设计看不到,但是实际输出是直线。

Lodop打印设计生成代码的自动转换,保留2位小数。
单位换算1in = 2.54cm = 25.4mm = 72pt = 96px。

打印设计的默认px单位:
LODOP.ADD_PRINT_LINE(49,110,53,287,0,4);
LODOP.ADD_PRINT_LINE(18,65,144,69,0,4);
经过打印设计生成代码自动转换mm后:
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","14.02mm","75.94mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.1mm","18.26mm",0,4);

个人实际测试一下计算方法,人工算一般先把换算约2位,再进行处理,但是计算机或计算器一般不是。
96px=25.4mm,1px=25.4/96(mm)=0.26458333333333....约等于0.26(mm) 本人用电脑自带的计算器算的
如图,第一条线的四个参数:
不1px约后:49px=49*(25.4/96)mm=12.964583333333....约等于12.96mm
1px换算约后:49px=49*0.26(mm)=12.74(mm)
如上,生成的转换后的是12.96mm,所以换算关系没有约,而是实际的25.4/96这个换算数值。

LODOP直线px转换mm变斜线的更多相关文章

  1. Android的计量单位px,in,mm,pt,dp,dip,sp

    android中dip.dp.px.sp和屏幕密度 1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持 ...

  2. 【Android学习】尺寸单位 px in mm pt dp sp

    一.Android中支持的尺寸单位 下面用表格的方式将Android中支持的尺寸单位列举,供大家参考: Android的尺寸单位  单位表示  单位名称  单位说明  px  像素  屏幕上的真实像素 ...

  3. Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度

    ###########################################Android计量单位########################################### px ...

  4. 在线px转换rem工具

    今天推荐一个在线工具,在线px转换rem工具 只要输入1rem = 多少px即可在线转换 和cssrem插件差不多的功能   rem在线转换工具: http://www.ofmonkey.com/fr ...

  5. 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem

       在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...

  6. dp与px转换

    名词 解释 Px (Pixel像素) 不同设备显示效果相同.这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px.也正是因为如此才造成了UI在小分辨率 ...

  7. dp和px转换

    在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题. 所以一般来说,常常需要dp到 ...

  8. LODOP.FORMAT格式转换【回调和直接返回值】

    Lodop中有一些格式转换函数,这些函数和其他众多函数一样,c-lodop需要使用回调函数On_Return返回,Lodop插件方式直接返回,通常混合部署,写法要兼容两个控件.可以用if (LODOP ...

  9. android屏幕密度规律及dp px转换

    px和dp(sp) 之间转化公式: 1  乘以(dp转px)或者除以(px转dp) scal缩放因子,在上浮0.5f /** * 密度转换像素 * */ public static int dip2p ...

随机推荐

  1. 在ubuntu16.04中初次体验.net core 2.0

    .net core运行在Linux中的例子.文章已经很多了,看了一些之后也想体验一下,顺便记录一下…… 环境:win10 1709.它内置的Linux子系统(这里安装的是Ubuntu 16.04) 一 ...

  2. testlib.h从入门到入坟

    学了这么久OI连个spj都不会写真是惭愧啊... 趁着没退役赶紧学一波吧 配置 github下载地址 我是直接暴力复制粘贴的.. 然后扔到MingW的目录里 直接引用就好啦 基本语法 引用testli ...

  3. 谷歌AI涉足艺术、太空、外科手术,再强调AI七原则

    谷歌AI涉足艺术.太空.外科手术,再强调AI七原则 https://mp.weixin.qq.com/s/MJG_SvKCEBKRvL3IWpL0bA 9月18日上午,Google在上海的2018世界 ...

  4. Arcpy多线程热力图

        起因是这样一段对话,领导:你会用脚本生成热力图图片吗?我:可以研究下.领导:那这个需求就给你了.我:......     经过一番研究,研究出大概的思路,先将有经纬度的表中的数据筛选出表并生成 ...

  5. 广州.NET微软技术俱乐部提技术问题的正确方式

    这是 北京.NET微软技术俱乐部 里一个人问问题的方式, 很赞, 所以希望大家问问题也采用这种方式. 耗时少, 使用12月8日活动上董志强先生介绍的windows 10 Snip&Sketch ...

  6. linux c ---raise 使用范例的代码

    把做工程过程中比较好的代码片段收藏起来,下面代码内容是关于linux c ---raise 使用范例的代码,希望对各位有所用途. #include <sys/types.h> #inclu ...

  7. DVWA 黑客攻防演练(八)SQL 注入 SQL Injection

    web 程序中离不开数据库,但到今天 SQL注入是一种常见的攻击手段.如今现在一些 orm 框架(Hibernate)或者一些 mapper 框架( iBatis)会对 SQL 有一个更友好的封装,使 ...

  8. Spring MVC 数据绑定 (四)

    完整的项目案例: springmvc.zip 目录 实例 项目结构路径: 一.配置web.xml <?xml version="1.0" encoding="UTF ...

  9. C#生成JOSN字符串

    C#如何生成JSON字符串?(序列化对象)   第一章:C#如何拿到从http上返回JSON数据? 第二章:C#如何解析JSON数据?(反序列化对象) 第三章:C#如何生成JSON字符串?(序列化对象 ...

  10. SQLServer之删除触发器

    删除触发器 注意事项 可以通过删除DML触发器或删除触发器表来删除DML触发器. 删除表时,将同时删除与表关联的所有触发器. 删除触发器时,会从 sys.objects.sys.triggers 和 ...