安卓webview打印PDF、离线页面的标准做法

您所在的位置:网站首页 安卓如何打印word文档内容 安卓webview打印PDF、离线页面的标准做法

安卓webview打印PDF、离线页面的标准做法

2024-07-15 02:40| 来源: 网络整理| 查看: 265

先来,打印:

String name = currentWebView.getTitle()+".pdf"; PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE); PrintAttributes.Builder builder = new PrintAttributes.Builder(); builder.setColorMode(PrintAttributes.COLOR_MODE_COLOR); printManager.print("Print", currentWebView.createPrintDocumentAdapter(name), builder.build());

(其实网上有,但是那么多种做法,你选哪个?)

表现:与chrome中输入javascript:window.print()一致,都是调用系统打印机。Opera则是另外实现的。预览较快,预览完成后才能打印。Opera预览较慢,预览结束前就可以打印。都有文本。Opera生成的文件较小,但可能乱码。 将页面离线保存为mhtml文件:

currentWebView.saveWebArchive(new File(getExternalFilesDir(null), currentWebView.getTitle()+".mht").getPath(), false, new ValueCallback() { @Override public void onReceiveValue(String value) { toast(value); } });

兴冲冲下载github上的androidChromium项目,结果debug模式始终不把so库打包进去,降级gradle至原项目使用的版本,花了一分钟下载完成后android studio又说不支持。不支持你下载下来干嘛?浪费我c盘一百兆的空间……

defaultConfig { ... ndk { abiFilters 'armeabi', 'armeabi-v7a' } }

可以debug后找找看好玩的特性,ftp支持,不在里面;原生谷歌翻译支持,不再里面。

popupmenu下拉菜单的早期实现看吐了……各种逻辑明明一层套一层的,最终还是用最简单的全屏dialog实现(window.getAttributes设置宽高,背景清空,自定义视图想怎么布局就怎么布局。按钮items背景设为支持库中的?attr/listChoiceBackgroundIndicator属性,就自动有了点击波纹特效。特效色值与colorcontrol系列的样式相关)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3