我正在创建一个小型Android应用程序(Delphi XE7 + FireMonkey),我需要打印一些信息。 由于没有报告组件(我知道)适用于Android的FireMonkey,我一直在寻找一些选项,其中一个是在我需要填写应用程序信息的地方创建一个带有一些标签的html文件。 当用户给出要打印的订单时,我将文件读取到TStringList,用所需信息替换所有标签,将其保存到临时文件并在TWebBrowser中打开它。 然后,我使用标准操作ShareSheet打开共享选项,并将其发送到Google Cloud Printer。
不幸的是,我无法像我想的那样控制结果。 我在Windows中准备了html,并在谷歌浏览器中尝试过,它完全适合A4(210x297)表,但在TWebBrowser中,我甚至无法获得正确的宽高比。这就像测量结果不一样,即使我使用Align = Client,TWebBrowser也不会填充7“平板电脑的屏幕,这或多或少是A4纵横比。
此外,我然后使用TWebBrowser.CaptureBitMap将其分配给ShareSheet,但它不会传递整个画布,只传递在特定时刻可见的部分。
有关如何解决此问题或任何其他方法进行打印的任何想法?
谢谢
答案 0 :(得分:1)
我认为最好是准备PDF文件而不是HTML。 HTML的主要问题在于它很少取决于Web浏览器如何呈现它(基于浏览器宽度自动对齐等)。
要查找有关使用哪些组件的更多信息,我建议您检查下一个帖子
Any good PDF export filter that works with Fast Report?