杰表技术论坛 's Archiver

admin 发表于 2009-4-2 15:24

使用jatoolsPrinter 设计套打的正确流程是什么?

套打设计的关键,是打印内容要跟票据位置对齐,不能错位。
如果你有报表工具,如杰表.2008,来设计套打比较容易,因为有可视化的设计器帮助你对齐。如果你用jatoolsPrinter来做套打,需要手工对齐,这样做虽然麻烦点,但灵活性是无可比拟的,如,因为你要打印的东西,不需要特别的格式,只要是html对象,就可以打印。而html对象的生成,可以用.net.j2ee,php动态语言来实现,位置调整也很方便(使用css即可)。用jatoolsPrinter来做套打,可以按以下步骤进行:
1. 做一个静态的 html页面模板.
1.1在静态的html页面中,放一个带边框的div, 用打印机在一张空白纸张上打印出来;
1.2用css调整div大小,直到打印出来的大小与实际的票据大小相等;
1.3将票据的扫描成图片,并将这个图片设置为div的背景;
1.4根据图片的指示,将要打印的内容置于div内的恰当位置,比如,金额,单位名称之类;

2. 将这个div打印在空白的票据上。观察左上角是否对齐,如果没有对齐,用css调整之。
上一步,保证了div大小与票据一致,这一步,是为了确保div整体与票据左上角吻合。

3. 经上述调整后的html,可以作为动态程序的模板。

如果你打印的内容不多,可以忽略1.3/1.4两步,用打印到票据来调整位置.

tzy080112 发表于 2009-8-18 11:25

分辨率问题

请问我开发时候的分辨率需要和客户电脑分辨率保持一直么,如何自动适应这个分辨率造成的烦躁问题

admin 发表于 2009-8-18 12:22

你可以米制为单位设置打印对象,不要以px为单位,就可保证在任何分辨率下,不走样,比如:
<div id='page1' style='width:297mm;height:210mm'>

tzy080112 发表于 2009-8-19 10:40

原来还可以这样啊

原来还可以这样啊  太神奇了吧 我马上去试试。
另外我又遇到一个新问题,我的一张纸我分成了10个小模块 一张纸上需要打印10个地方。现在我想一次显示20个模块,打印的时候 就需要换纸,可是换纸之后  打印位置就上移了一个模块的距离~~~ 请问这种情况怎么解决

daojhss1985 发表于 2009-9-6 09:27

为何套打不正确,急需解决!

比如说票据的实际大小是19.1cm*10.1cm,将图片上传作为背景,这图片在电脑上始终显示不是原样大小,在这张背景图相应地方放置相应的打印内容,然后打印,打印出来的效果始终是缩小的!不是原样大小(19.1cm*10.1cm),用贵公司的示例也试了,贵公司支票大小是(在 Photoshop 中查看),但套打出来始终达不到30.06cm*10.65cm大小,长只有22cm左右,高只有8.5cm左右!

three 发表于 2009-9-7 08:53

<img class='screen-only' src="XXXXX.jpg" style='width:191mm;height:101mm;'/>
你可以在img上指定他的宽度和高度。。。

yzdw 发表于 2009-10-31 17:06

为啥我不能指定打印区域的大小呢?预览的时候始终是a4的大小?
settings:{
        paperWidth : 231,                                                                        paperHeight : 128,

admin 发表于 2009-10-31 18:08

回复 7# yzdw 的帖子

需要你的打印机,支持自定义纸张,一般针式打印机,支持自定义纸张,

paperWidth / paperHeight:Number(可选/默认=打印机的默认纸张大小)
打印纸张的宽度与高度,以1/10毫米为单位。paperWidth必须与paperHeight一起指定,如果仅指定一个参数,则系统忽略。
如果你指定的纸张是非标准的纸张大小,控件会自动创建一个自定义纸张,如果你的打印机支持自定义纸张,则选用之,如果不支持,则不设置纸张。
多数激光打印机,不支持自定义纸张。针式的票据打印机,一般都会支持。
控件自动创建的自定义纸张名称类似这种形式 Custom 1000_9000,即按“Custom 宽_高”规则取名。
你的打印机是否支持自定义纸张,可以通过控件的  custompapersupport.htm 来测试,该测试页面使用使用控件方法 isCustomPaperSupported 来测试。

yzdw 发表于 2009-11-1 12:27

感谢您的回答,我的打印机是star 5400 txII  针打,控件设置了heigh与width,但是没有出现自定义纸张大小,这是为什么,始终是a4

yzdw 发表于 2009-11-1 20:34

function doPrint()
{
  var myDoc ={
settings:{
           printer: 'Adobe PDF',
            paperWidth : 231,
          paperHeight : 128,
       settingsID:"mysettings1",
    orientation : 2 },
documents: document,  
copyrights : '杰创软件拥有版权  www.jatools.com'};

         jatoolsPrinter.print(myDoc,false);    // 直接打印,不弹出打印机设置对话框  
   //jatoolsPrinter.printPreview(myDoc); //预览     
}  

这么写应该没问题吧。但是控件不会设置自定义大小,预览或者打印仍然是默认的a4纸大小

admin 发表于 2009-11-1 22:14

可能是你的虚拟打印机,不支持自定义纸张大小
你可以通过以下网页, 来测试你的打印机是否支持自定义纸张

[url]http://www.jatools.com/print/custompapersupport.htm[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.