Я хочу показать PDF в ViewPager2, а также выделение рисования и текста в PDF, так что это возможно без страницы PDF в растровое изображение?com.github.mhiew:android-pdf-viewer:3.2.0-beta.3com.github.mhiew:android-pdf-viewer:3.2.0-beta.3
< /code>
in viewpager2 < /p>
Они показывают все PDF в одной позиции
Я хочу показать каждую страницу PDF в положении
и когда я прокручиваю PDF View vening < /p>
val pdfFile = getPdfFileFromAssets(this, "leong.pdf")
if (pdfFile.exists()) {
val adapter = PdfPagerAdapter(this, pdfFile)
binding.viewPager.adapter = adapter
}
}
fun getPdfFileFromAssets(context: Context, fileName: String): File {
val assetManager = context.assets
val file = File(context.cacheDir, fileName)
assetManager.open(fileName).use { inputStream ->
FileOutputStream(file).use { outputStream ->
inputStream.copyTo(outputStream)
}
}
return file
}
< /code>
package com.draw.Adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.github.barteksc.pdfviewer.PDFView
import java.io.File
class PdfPagerAdapter(private val context: Context, private val pdfFile: File) :
RecyclerView.Adapter() {
class PdfViewHolder(val pdfView: PDFView) : RecyclerView.ViewHolder(pdfView)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PdfViewHolder {
val pdfView = PDFView(parent.context, null)
pdfView.layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
return PdfViewHolder(pdfView)
}
override fun onBindViewHolder(holder: PdfViewHolder, position: Int) {
holder.pdfView.fromFile(pdfFile)
.defaultPage(position) // Load specific page
.swipeHorizontal(false) // Set swipe direction
.enableSwipe(true)
.enableDoubletap(true)
.enableDoubletap(true)
.load()
}
override fun getItemCount(): Int {
return 5 // Set to total pages (if known) or use PdfiumCore to get count
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... -edite-pdf