Exemple #1
0
                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);
                }
Exemple #2
0
            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);

            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);
        }
Exemple #5
0
        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);
                }
            }
        }
Exemple #9
0
 public override void OnWrite(PageRange[] pages, ParcelFileDescriptor destination,
                              CancellationSignal cancellationSignal, WriteResultCallback callback)
 {
     mWrappedInstance.OnWrite(pages, destination, cancellationSignal, callback);
 }
Exemple #10
0
            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);
                }
            }
        }
Exemple #15
0
        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();
                }
            }
        }