Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //Create a pdf document.
            PdfDocument doc = new PdfDocument();

            doc.AppendPage();
            //doc.SaveToFile("../../testingC.pdf");
            //doc.LoadFromFile("../../testingC.pdf");
            var page = doc.Pages[0];

            String         pfxPath   = @"../../test.pfx";
            PdfCertificate cert      = new PdfCertificate(pfxPath, "123456");
            PdfSignature   signature = new PdfSignature(doc, page, cert, "signname")
            {
                ContactInfo         = "contact",
                Certificated        = true,
                DocumentPermissions = PdfCertificationFlags.AllowFormFill,
                Location            = new System.Drawing.PointF(50, 50),
                LocationInfo        = "center"
            };

            //Save pdf file.
            doc.SaveToFile(@"../../testingC signed.pdf");
            doc.Close();
        }
Ejemplo n.º 2
0
        public IActionResult AutoMerge(List <FileModel> models)
        {
            byte[] bytes       = Convert.FromBase64String(models[0].FileData);
            byte[] secondbytes = Convert.FromBase64String(models[1].FileData);


            PdfDocument pdf1 = new PdfDocument();

            pdf1.LoadFromBytes(bytes);
            PdfDocument pdf2 = new PdfDocument();

            pdf2.LoadFromBytes(secondbytes);
            pdf1.AppendPage(pdf2);
            var filePath = Path.Combine(Environment.CurrentDirectory + "\\files\\", models[0].FileName);

            pdf1.SaveToFile(filePath);
            pdf1.Close();
            pdf2.Close();
            //System.IO.File.WriteAllBytes(filePath, combinedArray);
            return(Ok());
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var fileList = new List <string>();

            fileList.AddRange(Directory.GetFiles("C:\\!Files"));

            var start = DateTime.Now;


            var docs = new List <PdfDocument>();

            var merged = new PdfDocument();

            fileList.ForEach(file => docs.Add(new PdfDocument(file)));

            docs.ForEach(doc => merged.AppendPage(doc));

            var unitCvtr         = new PdfUnitConvertor();
            var verticalMargin   = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            var horizontalMargin = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
            var margin           = new PdfMargins()
            {
                Top    = verticalMargin,
                Bottom = verticalMargin,
                Left   = horizontalMargin,
                Right  = horizontalMargin
            };

            DrawPageNumber(merged.Pages, margin, 1, merged.Pages.Count);

            var pageCount = merged.Pages.Count;

            merged.SaveToFile("C:\\!Files\\merged.pdf");
            var finished = DateTime.Now - start;

            //write
            Console.WriteLine($@"Merged total of {pageCount} pages from {fileList.Count} files in {finished.TotalSeconds} seconds");
        }
        private void btnMerge_Click(object sender, EventArgs e)
        {
            //Convert other file formats to PDF file
            string ext = string.Empty;

            foreach (object item in listBox1.Items)
            {
                ext = Path.GetExtension(item.ToString());
                switch (ext)
                {
                case ".docx":
                    using (MemoryStream ms = new MemoryStream())
                    {
                        Document doc = new Document(item.ToString());
                        doc.SaveToStream(ms, Spire.Doc.FileFormat.PDF);
                        PdfFiles.Add(new PdfDocument(ms));
                    }
                    break;

                case ".pdf":
                    PdfFiles.Add(new PdfDocument(item.ToString()));
                    break;

                case ".pptx":
                    using (MemoryStream ms = new MemoryStream())
                    {
                        Presentation ppt = new Presentation(item.ToString(), Spire.Presentation.FileFormat.Auto);
                        ppt.SaveToFile(ms, Spire.Presentation.FileFormat.PDF);
                        PdfFiles.Add(new PdfDocument(ms));
                    }
                    break;

                case ".xlsx":
                    using (MemoryStream ms = new MemoryStream())
                    {
                        Workbook xls = new Workbook();
                        xls.LoadFromFile(item.ToString());
                        xls.SaveToStream(ms, Spire.Xls.FileFormat.PDF);
                        PdfFiles.Add(new PdfDocument(ms));
                    }
                    break;

                default:
                    break;
                }
            }
            //Merge the PDF files into one PDF
            PdfDocument newPdf1 = new PdfDocument();

            foreach (PdfDocument doc in PdfFiles)
            {
                newPdf1.AppendPage(doc);
            }
            //Create a new PDF with specified page size, copy the content of merged file to new PDF file
            PdfDocument newPdf2 = new PdfDocument();

            foreach (PdfPageBase page in newPdf1.Pages)
            {
                PdfPageBase   newPage  = newPdf2.Pages.Add(PdfPageSize.A4, new PdfMargins(0));
                PdfTextLayout loLayout = new PdfTextLayout();
                loLayout.Layout = PdfLayoutType.OnePage;
                page.CreateTemplate().Draw(newPage, new PointF(0, 0), loLayout);
            }
            //Save the destination PDF file
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "Pdf files(*.pdf)|*.pdf";
            if (DialogResult.OK == sfd.ShowDialog())
            {
                newPdf2.SaveToFile(sfd.FileName);
            }
        }