Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void NewPdf(string[] Pdf)
- {
- byte[] newPdf;
- MemoryStream ms = new MemoryStream();
- foreach (var onepdf in Pdf)
- {
- newPdf = System.IO.File.ReadAllBytes(onepdf);
- //newPdf=System.Convert.FromBase64String(onepdf);
- // int resultPdf = newPdf.Length;
- // ms.Write(newPdf, 0, newPdf.Length);
- // var ms = new MemoryStream(new byte[resultPdf], 0, resultPdf, true, true);
- ms.Write(newPdf, 0, newPdf.Length);
- //ms.Write(baadF00d, 0, baadF00d.Length);
- //System.Buffer.BlockCopy(newPdf, 0, resultPdf, 0, newPdf.Length);
- }
- byte[] merged = ms.GetBuffer();
- // File.WriteAllBytes("testpdf.pdf", merged);
- PdfReader reader = new PdfReader(merged);
- int n = reader.NumberOfPages;
- Document document = new Document(reader.GetPageSizeWithRotation(1));
- PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("thugs.pdf", FileMode.Create));
- document.Open();
- PdfContentByte cb = writer.DirectContent;
- PdfImportedPage page;
- int rotation;
- int i = 0;
- while (i < n)
- {
- i++;
- document.SetPageSize(reader.GetPageSizeWithRotation(i));
- document.NewPage();
- page = writer.GetImportedPage(reader, i);
- rotation = reader.GetPageRotation(i);
- if (rotation == 90 || rotation == 270)
- {
- cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
- }
- else
- {
- cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
- }
- }
- reader = new PdfReader(merged);
- // we retrieve the total number of pages
- n = reader.NumberOfPages;
- document.Close();
- }
- return File(bytes, mimeType);
Add Comment
Please, Sign In to add comment