Example #1
0
        public void AddVoucherImage(string jobIdLocation, Document pdf, AdjustmentLetter letter, IFileReader fileReader)
        {
            var secondPage = pdf.Pages.Add();

            var drn = letter.AdjustedVoucher.voucher.documentReferenceNumber;
            var fs  = fileReader.LoadImage(jobIdLocation, letter.ProcessingDate, drn);

            if (fs != null)
            {
                secondPage.Resources.Images.Add(fs);

                secondPage.Contents.Add(new Operator.GSave());

                //// Create Rectangle and Matrix objects
                var rectangle = new Rectangle(ReportConstants.LowerLeftX, ReportConstants.LowerLeftY, ReportConstants.UpperRightX, ReportConstants.UpperRightY);
                var matrix    = new Aspose.Pdf.DOM.Matrix(new[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

                //// Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
                secondPage.Contents.Add(new Operator.ConcatenateMatrix(matrix));
                var ximage = secondPage.Resources.Images[secondPage.Resources.Images.Count];

                //// Using Do operator: this operator draws image
                secondPage.Contents.Add(new Operator.Do(ximage.Name));

                //// Using GRestore operator: this operator restores graphics state
                secondPage.Contents.Add(new Operator.GRestore());
            }
            else
            {
                Log.Warning("Image not found for voucher {@voucher} to attach to letter",
                            new { jobIdentifier = letter.JobIdentifier, processingDate = letter.ProcessingDate, DRN = drn });
            }
        }
Example #2
0
        public static void Run()
        {
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

            //open document
            Document pdfDocument = new Document(dataDir+ "AddImage.pdf");

            //set coordinates
            int lowerLeftX = 100;
            int lowerLeftY = 100;
            int upperRightX = 200;
            int upperRightY = 200;

            //get the page where image needs to be added
            Page page = pdfDocument.Pages[1];
            //load image into stream
            FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);
            //add image to Images collection of Page Resources
            page.Resources.Images.Add(imageStream);
            //using GSave operator: this operator saves current graphics state
            page.Contents.Add(new Operator.GSave());
            //create Rectangle and Matrix objects
            Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
            Aspose.Pdf.DOM.Matrix matrix = new Aspose.Pdf.DOM.Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
            //using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
            page.Contents.Add(new Operator.ConcatenateMatrix(matrix));
            XImage ximage = page.Resources.Images[page.Resources.Images.Count];
            //using Do operator: this operator draws image
            page.Contents.Add(new Operator.Do(ximage.Name));
            //using GRestore operator: this operator restores graphics state
            page.Contents.Add(new Operator.GRestore());
            //save updated document
            pdfDocument.Save(dataDir + "AddImage_out.pdf");
        }
Example #3
0
        public static byte[] Tif2PDF(byte[] fileBuffer)
        {
            Aspose.Pdf.Document doc = new Aspose.Pdf.Document();
            // Add a page to pages collection of document

            MemoryStream mystream = new MemoryStream(fileBuffer);

            Image tiffImage  = Image.FromStream(mystream);
            int   frameCount = tiffImage.GetFrameCount(FrameDimension.Page);

            MemoryStream[] images       = new MemoryStream[frameCount];
            Guid           objGuid      = tiffImage.FrameDimensionsList[0];
            FrameDimension objDimension = new FrameDimension(objGuid);

            for (int i = 0; i < frameCount; i++)
            {
                tiffImage.SelectActiveFrame(objDimension, i);
                using (MemoryStream ms = new MemoryStream())
                {
                    tiffImage.Save(ms, ImageFormat.Bmp);
                    Aspose.Pdf.Page page = doc.Pages.Add();
                    Bitmap          b    = new Bitmap(ms);
                    page.Resources.Images.Add(ms);
                    page.PageInfo.Margin.Bottom = 0;
                    page.PageInfo.Margin.Top    = 0;
                    page.PageInfo.Margin.Left   = 0;
                    page.PageInfo.Margin.Right  = 0;
                    page.SetPageSize(b.Width, b.Height);

                    // Using GSave operator: this operator saves current graphics state
                    page.Contents.Add(new Aspose.Pdf.Operator.GSave());
                    // Create Rectangle and Matrix objects
                    Aspose.Pdf.Rectangle  rectangle = new Aspose.Pdf.Rectangle(0, 0, b.Width, b.Height);
                    Aspose.Pdf.DOM.Matrix matrix    = new Aspose.Pdf.DOM.Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

                    // Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
                    page.Contents.Add(new Aspose.Pdf.Operator.ConcatenateMatrix(matrix));
                    Aspose.Pdf.XImage ximage = page.Resources.Images[page.Resources.Images.Count];

                    // Using Do operator: this operator draws image
                    page.Contents.Add(new Aspose.Pdf.Operator.Do(ximage.Name));

                    // Using GRestore operator: this operator restores graphics state
                    page.Contents.Add(new Aspose.Pdf.Operator.GRestore());
                }
            }



            var pdfStream = new MemoryStream();

            doc.Save(pdfStream);
            // Close memoryStream object
            var buffer = pdfStream.ToArray();

            pdfStream.Close();
            mystream.Close();

            return(buffer);
        }
Example #4
0
        public static byte[] Img2PDF(byte[] fileBuffer)
        {
            Aspose.Pdf.Document doc = new Aspose.Pdf.Document();
            // Add a page to pages collection of document
            Aspose.Pdf.Page page     = doc.Pages.Add();
            MemoryStream    mystream = new MemoryStream(fileBuffer);
            // Instantiate BitMap object with loaded image stream
            Bitmap b = new Bitmap(mystream);

            // Set margins so image will fit, etc.
            page.PageInfo.Margin.Bottom = 0;
            page.PageInfo.Margin.Top    = 0;
            page.PageInfo.Margin.Left   = 0;
            page.PageInfo.Margin.Right  = 0;
            page.SetPageSize(b.Width, b.Height);

            //page.CropBox = new Aspose.Pdf.Rectangle(0, 0, b.Width, b.Height);

            page.Resources.Images.Add(mystream);

            // Using GSave operator: this operator saves current graphics state
            page.Contents.Add(new Aspose.Pdf.Operator.GSave());
            // Create Rectangle and Matrix objects
            Aspose.Pdf.Rectangle  rectangle = new Aspose.Pdf.Rectangle(0, 0, b.Width, b.Height);
            Aspose.Pdf.DOM.Matrix matrix    = new Aspose.Pdf.DOM.Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

            // Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
            page.Contents.Add(new Aspose.Pdf.Operator.ConcatenateMatrix(matrix));
            Aspose.Pdf.XImage ximage = page.Resources.Images[page.Resources.Images.Count];

            // Using Do operator: this operator draws image
            page.Contents.Add(new Aspose.Pdf.Operator.Do(ximage.Name));

            // Using GRestore operator: this operator restores graphics state
            page.Contents.Add(new Aspose.Pdf.Operator.GRestore());

            var pdfStream = new MemoryStream();

            doc.Save(pdfStream);
            // Close memoryStream object
            var buffer = pdfStream.ToArray();

            pdfStream.Close();
            mystream.Close();

            return(buffer);
        }
Example #5
0
        public static void Run()
        {
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

            //open document
            Document pdfDocument = new Document(dataDir + "AddImage.pdf");

            //set coordinates
            int lowerLeftX  = 100;
            int lowerLeftY  = 100;
            int upperRightX = 200;
            int upperRightY = 200;

            //get the page where image needs to be added
            Page page = pdfDocument.Pages[1];
            //load image into stream
            FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);

            //add image to Images collection of Page Resources
            page.Resources.Images.Add(imageStream);
            //using GSave operator: this operator saves current graphics state
            page.Contents.Add(new Operator.GSave());
            //create Rectangle and Matrix objects
            Aspose.Pdf.Rectangle  rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
            Aspose.Pdf.DOM.Matrix matrix    = new Aspose.Pdf.DOM.Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
            //using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
            page.Contents.Add(new Operator.ConcatenateMatrix(matrix));
            XImage ximage = page.Resources.Images[page.Resources.Images.Count];

            //using Do operator: this operator draws image
            page.Contents.Add(new Operator.Do(ximage.Name));
            //using GRestore operator: this operator restores graphics state
            page.Contents.Add(new Operator.GRestore());
            //save updated document
            pdfDocument.Save(dataDir + "AddImage_out.pdf");
        }
Example #6
0
        public void AddVoucherImage(string jobIdLocation, Document pdf, AdjustmentLetter letter, IFileReader fileReader)
        {
            var secondPage = pdf.Pages.Add();

            var drn = letter.AdjustedVoucher.voucher.documentReferenceNumber;
            var fs = fileReader.LoadImage(jobIdLocation, letter.ProcessingDate, drn);

            if (fs != null)
            {
                secondPage.Resources.Images.Add(fs);

                secondPage.Contents.Add(new Operator.GSave());

                //// Create Rectangle and Matrix objects
                var rectangle = new Rectangle(ReportConstants.LowerLeftX, ReportConstants.LowerLeftY, ReportConstants.UpperRightX, ReportConstants.UpperRightY);
                var matrix = new Aspose.Pdf.DOM.Matrix(new[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

                //// Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
                secondPage.Contents.Add(new Operator.ConcatenateMatrix(matrix));
                var ximage = secondPage.Resources.Images[secondPage.Resources.Images.Count];

                //// Using Do operator: this operator draws image
                secondPage.Contents.Add(new Operator.Do(ximage.Name));

                //// Using GRestore operator: this operator restores graphics state
                secondPage.Contents.Add(new Operator.GRestore());
            }
            else
            {
                Log.Warning("Image not found for voucher {@voucher} to attach to letter",
                    new { jobIdentifier = letter.JobIdentifier, processingDate = letter.ProcessingDate, DRN = drn });
            }
        }