Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


PDF para bitmap imagen converso usando mupdf n android

Estoy usando la biblioteca mupdf en mi aplicación android para ver los archivos pdf. ¿Puede alguien decirme cómo obtener las imágenes de mapa de bits de cada página de un pdf utilizando la biblioteca mupdf? Gracias por adelantado….

3 Solutions collect form web for “PDF para bitmap imagen converso usando mupdf n android”

Utiliza la función en MUPDFcore.class , se llama drawPage(int page, int PDF width,int PDF height, 0,0,int bitmap width,int bitmap height)

Esta función devuelve imagen de mapa de bits. El primer parámetro es la página que se renderizará.

El segundo y tercer parámetro son del tamaño de PDF.

El 4 º y 5 º parámetro son el comienzo de la posición de mapa de bits que se llenan con imagen renderizada en PDF (esto es suposición, porque no hay documentación exacta sobre estos parámetros)

El sexto y el séptimo parámetro son el tamaño de mapa de bits que se rellenará con imagen procesada PDF.

Ya lo he hecho dentro del proyecto de ejemplo que han dado. Ahora estoy tratando de usarlo en otro proyecto, pero todavía tengo dificultades.

Encontré la solución para generar bitmap.

 ThumbnailsActivity.mBitmapList=new ArrayList<Bitmap>(); for(int i=0;i<core.countPages();i++){ Bitmap bitmap=core.drawPage(i, 200, 200, 0, 0, 200, 200); if(bitmap!=null){ ThumbnailsActivity.mBitmapList.add(bitmap); } } 

Espero que esto pueda ayudar a otros.

La biblioteca parece estar actualizada y no renderiza imágenes si se llama drawPage () pero funciona bien si le damos updatePage ()

Encontrar fragmento a continuación del código fuente de ejemplo

 //Activity onCreate() int x = Utils.getScreenSize(this)[0]; int y = Utils.getScreenSize(this)[1]; final ImageView imageView = (ImageView) findViewById(R.id.holderimageview); final Bitmap mSharedHqBm = Bitmap.createBitmap(x,y, Bitmap.Config.ARGB_8888); new CancellableAsyncTask<Void, Void>(getDrawPageTask(mSharedHqBm, x,y, 0, 0, x, y)) { @Override public void onPreExecute() { imageView.setImageBitmap(null); imageView.invalidate(); // Show some imageholder/spinner/progress etc. } @Override public void onPostExecute(Void result) { imageView.setImageBitmap(mSharedHqBm); imageView.invalidate(); } } // method in activity protected CancellableTaskDefinition<Void, Void> getDrawPageTask(final Bitmap bm, final int sizeX, final int sizeY, final int patchX, final int patchY, final int patchWidth, final int patchHeight) { return new MuPDFCancellableTaskDefinition<Void, Void>(core) { @Override public Void doInBackground(MuPDFCore.Cookie cookie, Void ... params) { // Workaround bug in Android Honeycomb 3.x, where the bitmap generation count // is not incremented when drawing. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB && Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) bm.eraseColor(0); core.updatePage(bm, somepagenumber, sizeX, sizeY, patchX, patchY, patchWidth, patchHeight, cookie); return null; } }; } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.