public MyOnWriteAsyncTask(MyPrintDocumentAdapter self, PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { this.self = self; this.pages = pages; this.destination = destination; this.cancellationSignal = cancellationSignal; this.callback = callback; items = ((MotoGpStatAdapter)self.pcc.ListAdapter).CloneItems(); mPdfDocument = new PrintedPdfDocument(self.mPrintContext, self.mPrintAttributes); }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { // If we are already cancelled, don't do any work. if (cancellationSignal.IsCanceled) { callback.OnWriteCancelled(); return; } var onWriteAsyncTask = new MyOnWriteAsyncTask(this, pages, destination, cancellationSignal, callback); onWriteAsyncTask.ExecuteOnExecutor(AsyncTask.ThreadPoolExecutor, (Java.Lang.Void[])null); }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { PrintedPdfDocument.Page page = document.StartPage(0); page.Canvas.Scale(scale, scale); page.Canvas.DrawText(text, page.Canvas.ClipBounds.Right / 2, page.Canvas.ClipBounds.Bottom / 2, new Android.Graphics.Paint()); document.FinishPage(page); WritePrintedPdfDoc(destination); document.Close(); document.Dispose(); callback.OnWriteFinished(pages); }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { PrintedPdfDocument.Page page = document.StartPage(0); page.Canvas.Scale(scale, scale); view.Draw(page.Canvas); document.FinishPage(page); WritePrintedPdfDoc(destination); document.Close(); document.Dispose(); callback.OnWriteFinished(pages); }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { try { using (InputStream input = new FileInputStream(path)) { using (OutputStream output = new FileOutputStream(destination.FileDescriptor)) { var buf = new byte[1024]; int bytesRead; while ((bytesRead = input.Read(buf)) > 0) { output.Write(buf, 0, bytesRead); } } } callback.OnWriteFinished(new[] { PageRange.AllPages }); } catch (FileNotFoundException fileNotFoundException) { System.Diagnostics.Debug.WriteLine(fileNotFoundException); } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception); } }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { InputStream input = null; OutputStream output = null; try { File file = new File(_filePath); input = new FileInputStream(file); output = new FileOutputStream(destination.FileDescriptor); byte[] buffer = new byte[8 * 1024]; int length; while ((length = input.Read(buffer)) >= 0 && !cancellationSignal.IsCanceled) { output.Write(buffer, 0, length); } if (cancellationSignal.IsCanceled) { callback.OnWriteCancelled(); } else { callback.OnWriteFinished(new PageRange[] { PageRange.AllPages }); } } catch (Exception e) { callback.OnWriteFailed(e.Message); } finally { try { input.Close(); output.Close(); } catch (IOException e) { Log.Error("WalkOut", e.Message); } } }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { InputStream input = null; OutputStream output = null; try { //Create FileInputStream object from the given file input = new FileInputStream(FileToPrint); //Create FileOutputStream object from the destination FileDescriptor instance output = new FileOutputStream(destination.FileDescriptor); byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = input.Read(buf)) > 0) { //Write the contents of the given file to the print destination output.Write(buf, 0, bytesRead); } callback.OnWriteFinished(new PageRange[] { PageRange.AllPages }); } catch (FileNotFoundException ex) { //Catch exception System.Diagnostics.Debug.WriteLine(ex); } catch (Exception e) { //Catch exception System.Diagnostics.Debug.WriteLine(e); } finally { try { input.Close(); output.Close(); } catch (IOException e) { e.PrintStackTrace(); System.Diagnostics.Debug.WriteLine(e); } } }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { mWrappedInstance.OnWrite(pages, destination, cancellationSignal, callback); }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { int totalPages = 1; for (int i = 0; i < totalPages; i++) { if (pageInRange(pages, i)) { PdfDocument.Page[] writtenPagesArray; PdfDocument.Page page = mPdfDocument.StartPage(i); if (cancellationSignal.IsCanceled) { callback.OnWriteCancelled(); mPdfDocument.Close(); mPdfDocument = null; return; } drawPage(page); mPdfDocument.FinishPage(page); } } try { FileOutputStream fileOutputStream = new FileOutputStream(destination.FileDescriptor); MemoryStream stream = new MemoryStream(); mPdfDocument.WriteTo(stream); byte[] bytes = stream.ToArray(); stream.Close(); fileOutputStream.Write(bytes); } catch (Java.IO.IOException e) { callback.OnWriteFailed(e.ToString()); return; } finally { mPdfDocument.Close(); mPdfDocument = null; } callback.OnWriteFinished(pages); }
public override void OnWrite (PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { mWrappedInstance.OnWrite (pages, destination, cancellationSignal, callback); }
/// <summary> /// /// </summary> /// <param name="pages"></param> /// <param name="destination"></param> /// <param name="cancellationSignal"></param> /// <param name="callback"></param> public override async void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { _input = null; _output = null; try { _input = new FileInputStream(FileToPrint); // if we use using on this, we get an ObjectDisposedException // TODO - investigate further _output = new FileOutputStream(destination.FileDescriptor); // if we use using on this, we get an ObjectDisposedException // TODO - investigate further byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = _input.Read(buf)) > 0) { _output.Write(buf, 0, bytesRead); } callback.OnWriteFinished(new PageRange[] { PageRange.AllPages }); } catch (Java.IO.FileNotFoundException ee) { await PrintStatusReporting.ReportExceptionSilentlyAsync(ee); } catch (Java.Lang.Exception jlex) { await PrintStatusReporting.ReportExceptionSilentlyAsync(jlex); } #pragma warning disable CA1031 // Do not catch general exception types catch (System.Exception e) { await PrintStatusReporting.ReportExceptionSilentlyAsync(e); } #pragma warning restore CA1031 // Do not catch general exception types finally { try { if (!(_input is null)) { _input.Close(); _input = null; } if (!(_output is null)) { _output.Close(); _output = null; } } #pragma warning disable CA1031 // Do not catch general exception types catch (System.Exception e) { await PrintStatusReporting.ReportExceptionSilentlyAsync(e); } #pragma warning restore CA1031 // Do not catch general exception types } }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { try { using (InputStream input = new FileInputStream(filePath)) { using (OutputStream output = new FileOutputStream(destination.FileDescriptor)) { var buf = new byte[1024]; int bytesRead; while ((bytesRead = input.Read(buf)) > 0) { output.Write(buf, 0, bytesRead); } } } callback.OnWriteFinished(new[] { PageRange.AllPages }); } catch (Exception exception) { throw new AggregateException(exception); } }
public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { InputStream input = null; OutputStream output = null; try { File file = new File(_filePath); input = new FileInputStream(file); output = new FileOutputStream(destination.FileDescriptor); byte[] buf = new byte[16384]; int size; while ((size = input.Read(buf)) >= 0 && !cancellationSignal.IsCanceled) { output.Write(buf, 0, size); } if (cancellationSignal.IsCanceled) { callback.OnWriteCancelled(); } else { callback.OnWriteFinished(new PageRange[] { PageRange.AllPages }); } } catch (Exception e) { callback.OnWriteFailed(e.Message); System.Diagnostics.Debug.WriteLine(e.Message); } finally { try { input?.Close(); output?.Close(); } catch (IOException e) { System.Diagnostics.Debug.WriteLine(e.Message); } } }
public override void OnWrite(PageRange[] pages, Android.OS.ParcelFileDescriptor destination, Android.OS.CancellationSignal cancellationSignal, WriteResultCallback callback) { InputStream input = null; OutputStream output = null; try { input = new FileInputStream(_filePath); output = new FileOutputStream(destination.FileDescriptor); byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = input.Read(buf)) > 0) { output.Write(buf, 0, bytesRead); } callback.OnWriteFinished(new PageRange[] { PageRange.AllPages }); } catch (FileNotFoundException ee) { //Catch exception } catch (Exception e) { //Catch exception } finally { try { input.Close(); output.Close(); } catch (IOException e) { e.PrintStackTrace(); } } }