コード例 #1
0
        /// <summary>
        /// This method is supported by version 18.12 or greater
        /// </summary>
        public static void Run()
        {
            // ExStart:1
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

            // Initialize Document
            Aspose.Pdf.Document document = new Document();
            document.Pages.Add();
            Page       page        = document.Pages[1];
            FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);

            page.Resources.Images.Add(imageStream, ImageFilterType.Flate);
            XImage ximage = page.Resources.Images[page.Resources.Images.Count];

            page.Contents.Add(new GSave());

            // Set coordinates
            int lowerLeftX  = 0;
            int lowerLeftY  = 0;
            int upperRightX = 600;
            int upperRightY = 600;

            Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
            Matrix matrix = new 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 ConcatenateMatrix(matrix));
            page.Contents.Add(new Do(ximage.Name));
            page.Contents.Add(new GRestore());

            document.Save(dataDir + "FlateDecodeCompression.pdf");
            // ExEnd:1
        }
コード例 #2
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);
        }
コード例 #3
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);
        }
コード例 #4
0
        internal static void SignPdfDocument(string filename, string certificate, string password)
        {
            var path     = $"original\\{filename}";
            var certPath = $"certificates\\{certificate}";

            var authority   = "Υπουργείο Εσωτερικών";
            var contactInfo = "Ιωάννου Κωνσταντίνος";
            var location    = "Αθήνα";
            var reason      = "ΑΠ: 4322/12";

            using (Aspose.Pdf.Document doc = new Aspose.Pdf.Document(path))
            {
                var signature = new Aspose.Pdf.Facades.PdfFileSignature(doc);
                // Create digital signature
                PKCS7 sig = new PKCS7(certPath, password); // Use PKCS7/PKCS7Detached objects
                sig.Authority      = authority;
                sig.ContactInfo    = contactInfo;
                sig.Location       = location;
                sig.Reason         = reason;
                sig.ShowProperties = false;
                // Set signature position
                var size = 50;
                var llx  = doc.Pages[1].Rect.URX - size - 10;
                var lly  = doc.Pages[1].Rect.URY - size - 10;
                var urx  = doc.Pages[1].Rect.URX - 10;
                var ury  = doc.Pages[1].Rect.URY - 10;
                var rect = new Aspose.Pdf.Rectangle(llx, lly, urx, ury);
                // Set signature background image
                var lines = new List <string>()
                {
                    authority, reason, contactInfo, location
                };
                signature.SignatureAppearanceStream = createSigningImage("sign_stamp.png", lines);
                // Sign the document
                signature.Sign(1, true, rect.ToRect(), sig);
                // Save output PDF file
                var outputPath = $"revised\\signed_{filename}";
                signature.Save(outputPath);
            }

            Console.WriteLine("signed....");
        }