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


Cómo imprimir PDF usando Android 4.4 Marco de impresión

¿Cómo imprimir el PDF ya descargado con Android 4.4 framework de impresión?

He visto la documentación del desarrollador. Pero no hay suerte. Cualquier ejemplo sería útil

  • Abortar SMS Intent en Android KitKat
  • Problemas con las pestañas y la barra de estado translúcida / navegación para android 4.4
  • Entrada de archivo HTML en android webview (android 4.4, kitkat)
  • Lollipop optimizó la compilación de aplicaciones en Kitkat - LayoutInflaterCompatHC NoClassDefFoundError
  • Theme.AppCompat.Light.NoActionBar.FullScreen No funciona con Android 4.4
  • Depuración en el navegador de valores de un Samsung Galaxy S4 en KitKat
  • ¿Cómo recuperar las dimensiones de una vista?
  • ¿Cómo puedo determinar que CollapsingToolbar está contraído?
  • ¿Cómo deshabilitar el umbral de movimiento al obtener eventos táctiles?
  • ListView ignorando wrap_content
  • ¿Cómo crear Android Key Hash de Facebook?
  • La velocidad es "nula" con el complemento de geolocalización en Android 5+
  • One Solution collect form web for “Cómo imprimir PDF usando Android 4.4 Marco de impresión”

    Después de pasar unas horas en google he encontrado la solución.

    PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT_SERVICE); String jobName = this.getString(R.string.app_name) + " Document"; printManager.print(jobName, pda, null); PrintDocumentAdapter pda = new PrintDocumentAdapter(){ @Override public void onWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback){ InputStream input = null; OutputStream output = null; try { input = new FileInputStream(file to print); output = new FileOutputStream(destination.getFileDescriptor()); byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = input.read(buf)) > 0) { output.write(buf, 0, bytesRead); } callback.onWriteFinished(new PageRange[]{PageRange.ALL_PAGES}); } catch (FileNotFoundException ee){ //Catch exception } catch (Exception e) { //Catch exception } finally { try { input.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } } } @Override public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes, CancellationSignal cancellationSignal, LayoutResultCallback callback, Bundle extras){ if (cancellationSignal.isCanceled()) { callback.onLayoutCancelled(); return; } PrintDocumentInfo pdi = new PrintDocumentInfo.Builder("Name of file").setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT).build(); callback.onLayoutFinished(pdi, true); } }; 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.