我在新的Android 10中使用PdfDocument生成的pdf有问题。输出文件不正确。在其他Android版本中,没有任何问题。有什么想法吗?
这就是我生成每个页面的方式
View contentView = pageViewList.get(i);
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(width, height, i + 1).create();
// Start a page
PdfDocument.Page page = pdfDocument.startPage(pageInfo);
// Draw view on the page
Canvas pageCanvas = page.getCanvas();
int pageWidth = pageCanvas.getWidth();
int pageHeight = pageCanvas.getHeight();
int measureWidth = View.MeasureSpec.makeMeasureSpec(pageWidth, View.MeasureSpec.EXACTLY);
int measuredHeight = View.MeasureSpec.makeMeasureSpec(pageHeight, View.MeasureSpec.EXACTLY);
contentView.measure(measureWidth, measuredHeight);
contentView.layout(0, 0, pageWidth, pageHeight);
contentView.draw(pageCanvas);
// Finish the page
pdfDocument.finishPage(page);

发布于 2020-06-12 18:59:27
这个问题似乎与返回错误值的TypedValue.applyDimension有关。
pageWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 210, displayMetrics);
pageHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 297, displayMetrics);所以它与PdfDocument无关。
https://stackoverflow.com/questions/62341385
复制相似问题