Guest User

Untitled

a guest
Jan 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. public void NewPdf(string[] Pdf)
  2. {
  3.  
  4. byte[] newPdf;
  5. MemoryStream ms = new MemoryStream();
  6. foreach (var onepdf in Pdf)
  7. {
  8. newPdf = System.IO.File.ReadAllBytes(onepdf);
  9. //newPdf=System.Convert.FromBase64String(onepdf);
  10. // int resultPdf = newPdf.Length;
  11. // ms.Write(newPdf, 0, newPdf.Length);
  12. // var ms = new MemoryStream(new byte[resultPdf], 0, resultPdf, true, true);
  13. ms.Write(newPdf, 0, newPdf.Length);
  14. //ms.Write(baadF00d, 0, baadF00d.Length);
  15.  
  16. //System.Buffer.BlockCopy(newPdf, 0, resultPdf, 0, newPdf.Length);
  17. }
  18. byte[] merged = ms.GetBuffer();
  19. // File.WriteAllBytes("testpdf.pdf", merged);
  20. PdfReader reader = new PdfReader(merged);
  21. int n = reader.NumberOfPages;
  22. Document document = new Document(reader.GetPageSizeWithRotation(1));
  23. PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("thugs.pdf", FileMode.Create));
  24. document.Open();
  25. PdfContentByte cb = writer.DirectContent;
  26. PdfImportedPage page;
  27. int rotation;
  28. int i = 0;
  29. while (i < n)
  30. {
  31. i++;
  32. document.SetPageSize(reader.GetPageSizeWithRotation(i));
  33. document.NewPage();
  34. page = writer.GetImportedPage(reader, i);
  35. rotation = reader.GetPageRotation(i);
  36. if (rotation == 90 || rotation == 270)
  37. {
  38. cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
  39. }
  40. else
  41. {
  42. cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
  43.  
  44. }
  45. }
  46. reader = new PdfReader(merged);
  47. // we retrieve the total number of pages
  48. n = reader.NumberOfPages;
  49. document.Close();
  50.  
  51. }
  52.  
  53. return File(bytes, mimeType);
Add Comment
Please, Sign In to add comment