[英]Create multiple pages pdf
I successfully created PDF in android but its showing data on one page but i am using scrollView in my layout means i have many line's data.我在android中成功创建了PDF,但它在一页上显示数据,但我在布局中使用scrollView意味着我有很多行的数据。 so if i have small data then its looking cool but if i have large data then it shrink the data and set it on one page it looking so congested, so i want automatically create pages as per requirement of data.
所以如果我有小数据,那么它看起来很酷,但是如果我有大数据,那么它会缩小数据并将其设置在一个页面上,它看起来很拥挤,所以我想根据数据要求自动创建页面。
this is my onclick:-这是我的点击:-
downBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bitmap = loadBitmapFromView(scrollLayout, scrollLayout.getWidth(), scrollLayout.getHeight());
createPdf();
}
});
this is createpdf method:-这是 createpdf 方法:-
private void createPdf(){
WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displaymetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
float hight = displaymetrics.heightPixels ;
float width = displaymetrics.widthPixels ;
int convertHighet = (int) hight, convertWidth = (int) width;
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(convertWidth, convertHighet,1).create();
PdfDocument.Page page = document.startPage(pageInfo);
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
canvas.drawPaint(paint);
bitmap = Bitmap.createScaledBitmap(bitmap, convertWidth, convertHighet, true);
paint.setColor(Color.BLUE);
canvas.drawBitmap(bitmap, 0, 0 , null);
document.finishPage(page);
@SuppressLint("SdCardPath") String targetPdf = "/sdcard/pdfexample.pdf";
File filePath;
filePath = new File(targetPdf);
try {
document.writeTo(new FileOutputStream(filePath));
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getContext(), "Something wrong: " + e.toString(), Toast.LENGTH_LONG).show();
}
document.close();
Toast.makeText(getContext(), "You can save your pdf", Toast.LENGTH_SHORT).show();
openGeneratedPDF();
}
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(convertWidth, convertHighet,1).create();
您是否只提到 pageno one,因此您增加了数据所需的 page no 以存储在一页中,因此请使用任何循环来增加 page no
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.