我試圖使用PrintJob(而不是FlexPrintJob)打印動態創建的火花組件。問題是,當我將組件傳遞給PrintJob時,打印空白。例如:使用AS3打印動態組件PrintJob
printJob.addPage(組件爲Sprite,null,pjo); - 組件是動態創建的。 printJob.send();
如何使組件及其內容可用?
任何和每一個迴應將非常感激。謝謝。
我試圖使用PrintJob(而不是FlexPrintJob)打印動態創建的火花組件。問題是,當我將組件傳遞給PrintJob時,打印空白。例如:使用AS3打印動態組件PrintJob
printJob.addPage(組件爲Sprite,null,pjo); - 組件是動態創建的。 printJob.send();
如何使組件及其內容可用?
任何和每一個迴應將非常感激。謝謝。
您的幫助表示讚賞。我找到了一個解決方案(儘管它不是我想要的)。我做的是我使用Sprite和TextField生成我的組件,然後使用PrintJob打印它,而不是FlexPrintJob
paren,將組件轉換爲位圖數據,創建一個添加到畫布的不可見位圖,將位圖數據附加到它,將位圖數據繪製到新的精靈中並將其傳遞到您的打印作業。多數民衆贊成我是如何得到它在我自己的項目工作。
嗨斯蒂芬,謝謝你的迴應,讓我試試看。如果沒有問題,請和我分享一些打印代碼。 – 2013-02-20 07:27:03
也許這將有助於:http://blog.kreatx.com/2011/11/11/flex-printing-print-preview-pdf-generation/ – StephenNYC 2013-02-20 17:12:43
如果您確定您的Sprite確實包含要打印的項目,你有\t \t \t options = new PrintJobOptions(); \t \t \t options.printAsBitmap = true; – StephenNYC 2013-02-20 17:15:57
如果您希望能夠打印它們,必須在屏幕上呈現您的組件。 – RIAstar 2013-02-18 10:44:57
嗨RIAstar,謝謝你的評論。是否可以打印組件而不渲染它? – 2013-02-18 10:49:43
不是我所知。但我認爲,如果你渲染它們,打印它們,然後再從顯示列表中刪除它們,你甚至不會看到渲染。如果這導致閃爍,你可以嘗試在用戶不可見的屏幕區域進行渲染(不知道這是否會工作)。 – RIAstar 2013-02-18 10:59:16