У меня есть этот макет таблицы под макетом представления прокрутки. Когда я конвертирую таблицу в pdf, она конвертирует только видимый экран, а не весь документ прокрутки. Я искал это, но не смог ничего найти. Любая помощь приветствуется. Я приложил свой код для создания pdf и его файл активности ниже.
Заранее спасибо.
private void createPdf(){
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
DisplayMetrics displaymetrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
float height = displaymetrics.heightPixels ;
float width = displaymetrics.widthPixels ;
int convertHeight = (int) height, convertWidth = (int) width;
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(convertWidth, convertHeight, 1).create();
PdfDocument.Page page = document.startPage(pageInfo);
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
canvas.drawPaint(paint);
bitmap = Bitmap.createScaledBitmap(bitmap, convertWidth, convertHeight, true);
paint.setColor(Color.BLUE);
canvas.drawBitmap(bitmap, 0, 0, null);
document.finishPage(page);
// write the document content
String targetPdf = Environment.getExternalStorageDirectory().getAbsolutePath() + "/FileName/";
File fileDir;
fileDir = new File(targetPdf);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
File filePath = new File(fileDir.toString(), "file.pdf");
try {
System.out.println("File = " + filePath);
document.writeTo(new FileOutputStream(filePath));
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, "Something wrong: " + e.toString(), Toast.LENGTH_LONG).show();
System.out.println("Something went wrong: " + e.toString());
}
// close the document
document.close();
Toast.makeText(this, "PDF of the table is created!!!", Toast.LENGTH_SHORT).show();
}
Файл моей активности
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TableView">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/scrollView">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tableLayout"
android:stretchColumns="*"
android:shrinkColumns="*"
>
</TableLayout>
</ScrollView>
</LinearLayout>