我正在拔头发。需要从远程服务器打印 html 生成的发票,使用
打印类,如果位图设置为 false 的事件,将呈现发票位图。至少文字模糊且不可用。alivepdf 可能是一个解决方案,但我需要直接打印,而不是在本地保存 pdf。我什至不明白,考虑到这个打印类很糟糕的事实,flex 不允许来自远程页面的简单 javascript 打印功能。
我在这里寻求帮助!
谢谢你
我正在拔头发。需要从远程服务器打印 html 生成的发票,使用
打印类,如果位图设置为 false 的事件,将呈现发票位图。至少文字模糊且不可用。alivepdf 可能是一个解决方案,但我需要直接打印,而不是在本地保存 pdf。我什至不明白,考虑到这个打印类很糟糕的事实,flex 不允许来自远程页面的简单 javascript 打印功能。
我在这里寻求帮助!
谢谢你
为什么不用浏览器打印?
这是一个例子:
把它放在你的 index.html 模板中:
<script language="JavaScript">
function printPage(htmlPage)
{
var w = window.open("about:blank");
w.document.write(htmlPage);
w.print();
w.close();
}
</script>
把它放在你的 Flex 项目中。您正在做的是检查您是否有权访问 ExternalInterface 以访问浏览器。然后你将使用“call”的 ExternalInterface 静态方法来调用 javascript:
import mx.controls.Alert;
import flash.external.ExternalInterface;
public static function PrintHtmlPage(pHtmlPage:String):void
{
if (ExternalInterface.available)
{
try
{
ExternalInterface.call("printPage",pHtmlPage);
}
catch (error:SecurityError) { Alert.show("Security Error"); }
catch (error:Error) { Alert.show("Error");}
}
else { Alert.show("ExternalInterface not avalible");}
}
现在用户可以从他们的浏览器打印干净的 html 了!
http://cookbooks.adobe.com/post_How_to_print_in_Flex_using_browser_capabilities-11468.html
编辑:
如果您正在使用 AIR 并且需要这样做,您可以尝试使用 AlivePDF 并按照本教程进行操作: