Макет не отображается в PDF должным образом в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Макет не отображается в PDF должным образом в Android

Сообщение Anonymous »

Я использую следующий код для создания документа и записи в файл. Однако когда я просматриваю созданный PDF-файл, все виды были нарисованы, кроме изображений. Я попытался установить макет в качестве содержимого действия, чтобы выяснить, не были ли мои изображения повреждены или мне пришлось изменить их размер, но при запуске приложения они отображаются безупречно. В чем может быть проблема в этом случае? Нужно ли писать изображения программно?
Вот код:
val view = LayoutInflater.from(context).inflate(R.layout.pdf, null)

val displayMetrics = DisplayMetrics()
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
context.display?.getRealMetrics(displayMetrics)

} else {
context.windowManager.defaultDisplay?.getMetrics(displayMetrics)

}
view.measure(
View.MeasureSpec.makeMeasureSpec(displayMetrics.widthPixels, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(displayMetrics.heightPixels, View.MeasureSpec.EXACTLY))

view.layout(0,0, displayMetrics.widthPixels, displayMetrics.heightPixels)

val document = PdfDocument()
val width = view.measuredWidth
val height = view.measuredHeight

val pageInfo = PdfDocument.PageInfo.Builder(width, height, 1).create()
val page = document.startPage(pageInfo)

val canvas = page.canvas
val bitMap = loadBitmapFromView(width, height)

canvas.drawBitmap(bitMap, 0f,0f, null)
view.draw(canvas)
document.finishPage(page)
document.writeTo(outputStream)
document.close()
}

private fun loadBitmapFromView(width: Int, height: Int): Bitmap {
val b: Bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
return b
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»