Re: [問題] printjob排版問題

看板Flash作者 ({id:"Ticore"};//)時間12年前 (2012/09/19 14:10), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
// 垂直水平對其中心列印範例 package { import flash.display.Sprite; import flash.geom.Rectangle; import flash.printing.PrintJob; import flash.text.TextField; [SWF(width="300", height="200")] public class AS3PrintJob extends Sprite { public function AS3PrintJob() { var printJob:PrintJob = new PrintJob(); if (printJob.start()) { trace(printJob.orientation); trace("page size:", printJob.pageWidth, printJob.pageHeight); trace("paper size:", printJob.paperWidth, printJob.paperHeight); try { // 準備 Page 內容 var pageContainer:Sprite = new Sprite(); var pageSp:Sprite = new Sprite(); var txt:TextField = new TextField(); pageSp.addChild(txt); pageContainer.addChild(pageSp); txt.autoSize = "left"; txt.text = "TextField"; txt.x = (400 - txt.width) / 2; txt.y = (400 - txt.height) / 2; pageSp.graphics.lineStyle(3, 0x0); pageSp.graphics.drawRect(0, 0, 400, 400); // 縮放 Page 內容 pageSp.scaleX = pageSp.scaleY = 0.5; // 計算 Print Page 與 Page 內容尺寸 var area:Rectangle = pageContainer.getRect(pageContainer); var marginV:Number = (printJob.pageHeight - area.height) / 2; var marginH:Number = (printJob.pageWidth - area.width) / 2; // Page 內容垂直水平對其中心 area.x = -marginH; area.y = -marginV; area.width = printJob.pageWidth; area.height = printJob.pageHeight; trace("page size:", printJob.pageWidth, printJob.pageHeight); trace("paper size:", printJob.paperWidth, printJob.paperHeight); trace(area); printJob.addPage(pageContainer, area); } catch (e:Error) { trace(e.getStackTrace()); } printJob.send(); } } } } ※ 引述《hurst05 ()》之銘言: : 請問大家~ : 用 flash 的printjob,或是flex的flexprintjob : 都可以做到縮放、設定列印範圍等的功能 : 但那一頁總是從(0,0)這位置開始算,也就是他的排版方式 : 假設我要寫一行字,印在整張A4的中間 : 這樣有辦法能做到嗎? 因為我用addPage或是addObject的物件 : 如果是呈現在畫面上是可以排版,但一放進去就是從左上方計算 : 請各位幫幫忙,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.239.66

09/19 22:28, , 1F
感謝! 明天回到家再來試試,看來重點在rectrangle
09/19 22:28, 1F

09/19 22:29, , 2F
不過那不是列印範圍嗎? 我的理解錯了?
09/19 22:29, 2F
文章代碼(AID): #1GMM6wH4 (Flash)
討論串 (同標題文章)
文章代碼(AID): #1GMM6wH4 (Flash)