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(); }
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()); }
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); } }