【发布时间】:2013-01-10 23:34:06
【问题描述】:
更新:我决定在我的项目中使用 appjs,而不是 TideSDK。使用 AppJS,您可以轻松制作节点模块,您可以在其中添加 C++ 模块以轻松使用静默打印。我建议任何对该主题感兴趣的人检查一下。祝大家好运!
我正在使用 TideSDK 开发一个应用程序 - 这是一个非常棒的框架,如果您还没有尝试过,请留点时间!
无论如何,我正在尝试使用 Javascript 进行打印,但每次都会出现打印设置对话框,就像使用其他浏览器一样。我正在尝试消除该框并传递我希望它打印的打印机。
我知道 FireFox 中有静音打印的设置,这是我以前使用的,但 TideSDK 没有任何类似的选项(我找到了)。
经过大量研究,我认为唯一可行的选项包括 python 脚本、C++ 模块或编辑 TideSDK 源代码并重新编译。对我来说,这三个听起来都比较宽松。修改 TideSDK 源并从webkit_ui_delegate.cpp 中删除对话框很可能会在以后更新此程序时导致一些问题 - 除了无法轻松传递打印机名称之外。 python 脚本需要第三方模块并且必须处理页面的内容,我怀疑我是否能够编写一些可以在这方面做高质量工作的东西。最后,我认为 C++ 解决方案是最可行的,因为它可以访问 win32api,但同样,它必须将 HTML 处理为打印语言,这是我不熟悉的。我想我正在寻找更多可以为我处理渲染的 webkit 解决方案。
如何在 TideSDK 上实现静默打印?请包含代码示例。
我主要在寻找 windows 解决方案,我已经想通了 其他平台。
感谢您的宝贵时间,感谢您的反馈!
【问题讨论】:
-
为什么你认为修改 TideSDK 源代码会是一个糟糕的解决方案?只要它有效,您可能会要求将您的更改重新导入 TideSDK 主分支,因为这听起来是一个有用的选项。
-
@Danack - 您如何将打印机参数传递给
webkit_ui_delegate.cpp中的printFrame函数?这是问题的主要组成部分之一。 -
在这里发布一个问题可能是值得的:developer.appcelerator.com/questions/newest
-
@JSuar 我认为他们不再支持 TideSDK,很遗憾。
-
在这种情况下提交功能请求、为解决方案做出贡献或赞助对您的项目有意义的工作是合适的。