My Android app renders a WebView containing a canvas. Cloud Print wants a PDF. How can I generate a PDF with my WebView to send to Cloud Print?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You could first capture the canvas as a png: (taken from stackoverflow answer)
var canvas = document.getElementById("mycanvas");
var img = canvas.toDataURL("image/png");
Then next step get this into a pdf. I haven't seen a javascript based converter, but one could send the png to a custom web service (perhaps running on Google Apps, Amazon AWS or a traditional hosted machine) which simple returns a pdf. ImageMagick could be used here with a wrapper cgi script or you could use some library. Alternatively it might be possible to do the conversion within the android app.
回答2:
there is also WebView.capturePicture() http://developer.android.com/reference/android/webkit/WebView.html#capturePicture()