Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public byte[] MergePdfs(IEnumerable<byte[]> inputFiles)
- {
- MemoryStream outputStream = new MemoryStream();
- Document document = new Document();
- PdfWriter writer = PdfWriter.GetInstance(document, outputStream);
- document.Open();
- PdfContentByte content = writer.DirectContent;
- foreach(byte[] input in inputFiles)
- {
- PdfReader reader = new PdfReader(input);
- for (int i = 1; i <= reader.NumberOfPages; i++)
- {
- document.SetPageSize(reader.GetPageSizeWithRotation(i));
- document.NewPage();
- PdfImportedPage page = writer.GetImportedPage(reader, i);
- int rotation = reader.GetPageRotation(i);
- if (rotation == 90 || rotation == 270)
- {
- content.AddTemplate(page, 0, -1f, 1f, 0, 0,
- reader.GetPageSizeWithRotation(i).Height);
- }
- else
- {
- content.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
- }
- }
- }
- document.Close();
- return outputStream.ToArray();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement