Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将WebView HTML内容直接打印到PDF文件_Android_Pdf_Webview - Fatal编程技术网

Android 将WebView HTML内容直接打印到PDF文件

Android 将WebView HTML内容直接打印到PDF文件,android,pdf,webview,Android,Pdf,Webview,使用Android 19打印API,我试图将网络视图的内容直接呈现到设备存储上的PDF文件中。我知道我可以将PrintJob发送到PrintManager并让用户在那里选择“另存为PDF”,但我不希望这样。我想立即从我的应用程序中保存PDF 我试着使用WebView.draw(PdfDocument.Page.getCanvas()),但得到的PDF是光栅文件,而不是矢量文件 使用Android 19打印API,我试图将WebView的内容直接呈现到设备存储上的PDF文件中 打印API用于打印。

使用Android 19打印API,我试图将网络视图的内容直接呈现到设备存储上的PDF文件中。我知道我可以将
PrintJob
发送到
PrintManager
并让用户在那里选择“另存为PDF”,但我不希望这样。我想立即从我的应用程序中保存PDF

我试着使用
WebView.draw(PdfDocument.Page.getCanvas())
,但得到的PDF是光栅文件,而不是矢量文件 使用Android 19打印API,我试图将WebView的内容直接呈现到设备存储上的PDF文件中

打印API用于打印。它们从未用于创建PDF文件

为什么WebView.draw(PdfDocument.Page.getCanvas())会生成带有不可选择文本的光栅PDF

draw()
将UI呈现到
画布
,而不考虑源UI(
编辑文本
按钮
图像视图
查看页面
网络视图
,以及
约束视图
中的一些小部件组合等)。如果
画布
后面有一个
位图
——这可能就是他们在这里使用的东西——你会得到一个
位图

是否可以像我在第二个示例中尝试的那样,使用由web视图本身创建的打印适配器


您可以尝试将应用程序中的
LayoutResultCallback
WriteResultCallback
的实现放入
android.print
包中,方法是将该Java包添加到项目中。俗话说,YMMV.

有关更多详细信息,请参考您在其中使用的第二种方法。我认为此链接可以解决您的问题,这里是@Akshay谢谢,这很有效!这基本上是我的第二个例子,在这个例子中,他们用Commonware在他的文章中建议的技巧来实例化回调answer@lorenzo-It’很高兴帮助你