1

ファンシーな棒グラフを表示する Web ビューがあります。基本的に、そのスクリーンショット (webview コントロールに現在表示されている領域だけでなく、HTML ドキュメント全体) を撮り、それを PDF に詰め込む必要があります。HTML ファイルはアプリによって生成されるので、必要なものを何でも追加できます。PDFでの作業も問題ありません。

問題は、レンダリングされた HTML ドキュメントをビットマップとして取得するにはどうすればよいかということです。高レベルのアプローチに関するアイデアは役に立ちます。

HTML グラフはキャンバスではなく DHTML で作成されるため、ここで説明する解決策は適用されないことに注意してください。

4

1 に答える 1

0

生成された画像から開始する PDF の生成にストリームを使用できる場合、パスは次のとおりです。

Picture picture = webView.capturePicture();
Bitmap  b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), 
                                Bitmap.Config.ARGB_8888);

Canvas c = new Canvas( b );        
picture.draw( c );

FileOutputStream out = null;
byte[] byteArchadeImage = null;

try {
    out = new FileOutputStream(new File("/sdcard/snapshot/view-cutted.jpg"));

    if ( out != null ) {
        b.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();
    }
} catch( Exception e ) {
    Log.e("MSG", e.getLocalizedMessage());    
}          

Androidで機能するpdf生成用のツールを使用して、pdf生成用のストリームをリダイレクトできます。iText はその 1 つのサンプルだと思います。

于 2013-09-06T21:56:57.003 に答える