LODOP提高输出图片质量的方法:
1.用ADD_PRINT_IMAGE语句打印图片,而且img元素的width和height属性要去掉或者设置足够大,这样就可以让下载引擎传给Lodop图片质量足够好;
2.如果要控制图片输出大小,要用SET_PRINT_STYLEA(0,"Stretch",1)语句控制最终输出大小
也就是不要在img标签里设置width和height,或设置足够大。控制大小直接用ADD_PRINT_IMAGE的宽高,然后加上可变形或不可变形缩放语句,进行控制大小。

预览是图形模式,用xps或pdf虚拟打印机实际输出查看效果。
预览是图形模式,缩略图,可能是实际打印之间存在差异,例如图片预览查看有问题,但是实际打印出来是没问题的,可以用虚拟打印机查看下实际打印的结果。

LODOP用ADD_PRINT_IMAGE语句缩放打印图片,预览质量看起来不正常。
Lodop缩放预览图片看起来有问题。
Lodop实际打印出来效果是好的。

LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//(不可变形)扩展缩放模式

测试代码:

第一个测试方法里,是输出原图,由于原图较大,所以会显示部分,其他部分不显示,裁剪出来的。

<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>
<a href="javascript:prn2_preview()">打印预览 可变形缩放</a><br>
<a href="javascript:prn3_preview()">打印预览 不可变形缩放</a>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_IMAGE(0,0,"100%","100%","<img src='1.jpg'>");
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_IMAGE(0,0,500,500,"<img src='1.jpg'>");
LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
function prn3_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_IMAGE(0,0,500,500,"<img src='1.jpg'>");
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//(不可变形)扩展缩放模式
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
</script>
</body>

图示:

上面这个图没有放第一个方法里,不加任何缩放的图,最后放一下,图片较大的时候,不加缩放,会截取图片部分,超出纸张的不会显示。

LODOP用ADD_PRINT_IMAGE语句缩放打印图片的更多相关文章

  1. LODOP中用ADD_PRINT_IMAGE缩放非图片超文本

    LODOP中HTML,URL,带有img标签的IMAGE,TBALE等打印项都属于超文本.关于LODOP中的纯文本和超文本,可查看本博客相关博文:LODOP中的纯文本和超文本打印项 ADD_PRINT ...

  2. css技术之用最高和最宽的限制“max-height和max-width”做图片同比例缩放,达到图片不变形目的,做出批量打印图片功能,页面打印“window.print()”

    一.简介 他们是为流而生的,像width/height这种定死的砖头式布局,min-width/max-width就没有存在的意义 ,min-width/max-width一定是自适应布局或流体布局中 ...

  3. LODOP纸张/打印机/份数/打印方向/双面打印 简短问答

    纸张#如何设置纸张纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html纸张的一些优先级 http://www.c-lodop.com ...

  4. Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果

    Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能.放大的图像可以显示在镜头本身或它的外部容器中.Magnifier.js 使 ...

  5. jQuery实现等比例缩放大图片

      在布局页面时,有时会遇到大图片将页面容器“撑破”的情况,尤其是加载外链图片(通常是通过采集的外站的图片).那么本文将为您讲述使用jQuery如何按比例缩放大图片,让大图片自适应页面布局. 通常我们 ...

  6. Android调用相册拍照控件实现系统控件缩放切割图片

    android 下如果做处理图片的软件 可以调用系统的控件 实现缩放切割图片 非常好的效果 今天写了一个demo分享给大家 package cn.m15.test; import java.io.By ...

  7. C# 热敏打印机 Socket 网络链接 打印 图片

    C# 热敏打印机 Socket 网络链接 打印 图片 (一) http://www.cnblogs.com/rinack/p/4838211.html C# 热敏打印机 Socket 网络链接 打印 ...

  8. Android实现支持缩放平移图片

    本文主要用到了以下知识点 Matrix GestureDetector 能够捕捉到长按.双击 ScaleGestureDetector 用于检测缩放的手势 自由的缩放 需求:当图片加载时,将图片在屏幕 ...

  9. 批量缩放PNG图片.

    最近需要缩放N多图片, 找遍了互联网也没有找到方便使用的批量缩放工具.. 趁着周末写一个练手.. #include <iostream> #include <vector> # ...

随机推荐

  1. python3 练习题 day03

    ''' 1. 文件a1.txt内容 序号 部门 人数 平均年龄 备注 1 python 30 26 单身狗 2 Linux 26 30 没对象 3 运营部 20 24 女生多 ....... 通过代码 ...

  2. @ConfigurationProperties 配置详解

    文章转自 https://blog.csdn.net/qq_26000415/article/details/78942494 前言新的一年到了,在这里先祝大家新年快乐.我们在上一篇spring bo ...

  3. PAT A1094 The Largest Generation (25 分)——树的bfs遍历

    A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level bel ...

  4. Mybatis学习总结(五)——动态sql

    MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格,还要注意省掉 ...

  5. 开源组件ELK日志系统配置与管理

    ELK日志系统介绍 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成.官方网站:https://www.el ...

  6. CSS Grid 读书笔记

    基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...

  7. 《程序猿闭门造车》之NBPM工作流引擎 - 开篇

    自己动手,丰衣足食,花了几个周末的休息时间,写了一个轻量级工作流引擎,一来学习技术,二来陶怡情操,暂且命名为NBPM,欢迎围观~~~ 主要功能有: 基于浏览器的在线流程及表单设计 提供流程及表单数据版 ...

  8. Python全栈开发之路 【第二篇】:Python基础之数据类型

    本节内容 一.字符串 记住: 有序类型:列表,元组,字符串 ---> 都可迭代: 无序类型:字典,集合 ---> 不可迭代: 特性:不可修改 class str(object): &quo ...

  9. Meterpreter常⻅见⽤用法

    0x01 背景 meterpreter作为后渗透模块有多种类型,并且命令由核⼼心命令和扩展库命令组成,极⼤大的丰富了了攻击⽅方式. 需要说明的是meterpreter在漏漏洞洞利利⽤用成功后会发送第二 ...

  10. 实现多个标签页之间通信的几种方法(sharedworker)

      效果图.gif prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信.我目前想到的方法有三种:使用websocket协议.通过localstorage.以及使用html ...