Android:无法从WebView打印/PDF html文档(版本:86.0.4240.75)
错误消息:“抱歉,这不起作用。请重试。” 使用Android系统WebView(版本:86.0.4240.75)的最新更新,无法使用createPrintDocumentAdapter从我的html文档WebView生成pdf或打印。对于旧版本的Android系统Webview,它运行良好 请让我们知道是否有人对此有解决方案Android:无法从WebView打印/PDF html文档(版本:86.0.4240.75),android,pdf,printing,webview,Android,Pdf,Printing,Webview,错误消息:“抱歉,这不起作用。请重试。” 使用Android系统WebView(版本:86.0.4240.75)的最新更新,无法使用createPrintDocumentAdapter从我的html文档WebView生成pdf或打印。对于旧版本的Android系统Webview,它运行良好 请让我们知道是否有人对此有解决方案 我们的Cordova应用程序也遇到了同样的问题。我们为Cordova使用pdf generator 2.1.1。Pdf可以在应用程序启动后第一次加载,如果它关闭并再次打开,
我们的Cordova应用程序也遇到了同样的问题。我们为Cordova使用pdf generator 2.1.1。Pdf可以在应用程序启动后第一次加载,如果它关闭并再次打开,我们会得到相同的错误。 如果我完全关闭应用程序并重新启动它,我可以再次打开它一次。可能是webview中的缓存问题或类似问题 我想唯一的解决办法是对webview进行新的更新,从而解决这个问题。
当我试图将gmail应用程序中的电子邮件保存为pdf格式时,有时也会出现此错误。我不确定它是否适用于所有人,我在我的移动应用程序中也遇到了此问题,我所做的是:
此问题已在最新版本的Chrome/Android系统WebView应用程序上修复。 谷歌已经发布了Playstore的更新,我们确认这个问题已经解决
跟踪问题我们做了与解决方法相同的事情。但几天前,我们也对chromium web团队提出了同样的问题。我们在应用程序中也看到了同样的失败。然而,在我们的应用程序中,我们提供了一个通过应用程序打印的解决方案,我们将创建的HTML传递给Google Chrome进行打印,并通过Javascript打开打印窗口。Google Chrome甚至可以使用更新的webview进行打印。想知道Chrome是怎么做的,因为打印控件看起来很像。
// Get a PrintManager instance
PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
// Get a print adapter instance
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();
// Create a print job with name and adapter instance
String jobName = getString(R.string.app_name) + " Document";
PrintAttributes.Builder builder = new PrintAttributes.Builder();
builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4);
PrintJob printJob = printManager.print(jobName, printAdapter, builder.build());