Android 将WebView HTML内容直接打印到PDF文件
使用Android 19打印API,我试图将网络视图的内容直接呈现到设备存储上的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用于打印。
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’很高兴帮助你