Czy istnieje sposób na zrobienie ekranu wysokiej rozdzielczości określonego widoku w działaniu.Zdjęcie ekranu o wysokiej rozdzielczości w systemie Android:
Chcę przekonwertować zawartość html z mojej webview na PDF. W tym celu próbowałem zrobić zrzut ekranu z treścią widoku na WWW, a następnie przekonwertować go do formatu PDF za pomocą itext. Wynikowy plik PDF nie jest dużo bardziej przejrzysty.
Mój kod:
protected void takeimg() {
Picture picture = mWebView.capturePicture();
Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
picture.draw(c);
// byte[] bt = b.getNinePatchChunk();
// Bitmap b;
// View v1 = mWebView.getRootView();
// v1.setDrawingCacheEnabled(true);
// b = Bitmap.createBitmap(v1.getDrawingCache());
// v1.setDrawingCacheEnabled(false);
FileOutputStream fos = null;
try {
File root = new File(Environment.getExternalStorageDirectory(),
"Sample");
if (!root.exists()) {
root.mkdir();
}
String sdcardhtmlpath = root.getPath().toString() + "/"
+ "temp_1.png";
fos = new FileOutputStream(sdcardhtmlpath);
// fos = openFileOutput("samsp_1.jpg", MODE_WORLD_WRITEABLE);
if (fos != null) {
b.compress(Bitmap.CompressFormat.PNG, 100, fos);
// fos.write(bt);
fos.close();
}
} catch (Exception e) {
Log.e("takeimg", e.toString());
e.printStackTrace();
}
}
protected void pdfimg() {
Document mydoc = new Document(PageSize.A3);
try {
File root = new File(Environment.getExternalStorageDirectory(),
"Sample");
if (!root.exists()) {
root.mkdir();
}
String sdcardhtmlpath = root.getPath().toString() + "/";
mydoc.setMargins(0, 0, 0, 0);
PdfWriter.getInstance(mydoc, new FileOutputStream(sdcardhtmlpath
+ PDFfilename));
mydoc.open();
Image image1 = Image.getInstance(sdcardhtmlpath + "temp_1.jpg");
image1.scalePercent(95f);
mydoc.add(image1);
// mydoc.newPage();
mydoc.close();
} catch (Exception e) {
Log.e("pdi name", e.toString());
}
}
Naprawdę ładne pytanie .. – prakash
Dlaczego chcesz zrobić zrzut ekranu ... dostępne są różne biblioteki, które umożliwiają tworzenie plików PDF na Androidzie. Po prostu pobierz zawartość strony HTML ze strony internetowej i użyj dowolnej biblioteki do utworzenia pliku pdf. Ta technika zrzutu ekranu stworzy więcej nowych problemów, a następnie rozwiąże oryginalną. – mudit
Bardzo się starałem i nie mogłem znaleźć najlepszego sposobu na konwersję HTML na PDF. Jeśli masz jakiś pomysł, wyjaśnij mi. – Sniper