Объединение двух страниц PDF в одну страницу? - PullRequest
0 голосов
/ 24 апреля 2020

Общая попытка здесь состоит в том, чтобы создать две PDF-страницы, причем одна из них будет «меньшей», расположенной в правом нижнем углу другого PDF-документа. Я посмотрел онлайн, но ни одно из найденных мной решений не работает для меня.

Вот несколько решений, которые я пытался:

    PdfReader reader = new PdfReader(@"C:\temp\pdfFolder\mainPDF.pdf");

    iTextSharp.text.Document doc = new iTextSharp.text.Document(PageSize.A4.Rotate(), 10, 10, 10, 10);
    PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(@"C:\temp\pdfFolder\secondaryPDF.pdf", FileMode.Append));

    doc.Open();
    PdfImportedPage page;

    PdfPTable table = new PdfPTable(2);
    table.WidthPercentage = 100;

    for(int i = 1; i <= reader.NumberOfPages; i++)
    { 
      page = writer.GetImportedPage(reader, i);
      table.AddCell(iTextSharp.text.Image.GetInstance(page));
      doc.Add(table);
    }

и

    MemoryStream finalStream = new MemoryStream();
    PdfCopyFields copy = new PdfCopyFields(finalStream);

    PdfManager pdfMan = new PdfManager();
    Persits.PDF.PdfDocument docOne = pdfMan.OpenDocument(@"C:\temp\pdfFolder\mainPDF.pdf");
    Persits.PDF.PdfDocument docTwo = pdfMan.OpenDocument(@"C:\temp\pdfFolder\secondaryPDF.pdf");

    MemoryStream docOneMem = new MemoryStream(docOne.SaveToMemory());
    MemoryStream docTwoMem = new MemoryStream(docTwo.SaveToMemory());

    docOneMem.Position = 0;
    copy.AddDocument(new PdfReader(docOneMem));
    docOneMem.Dispose();

    docTwoMem.Position = 0;
    copy.AddDocument(new PdfReader(docTwoMem));
    docTwoMem.Dispose();
    copy.Close();

    Persits.PDF.PdfDocument finalDoc = pdfMan.CreateDocument();
    Persits.PDF.PdfPage finalDocPage = finalDoc.Pages.Add();

    finalDocPage.Equals(finalStream);

    finalDoc.Save(@"C:\temp\pdfFolder\finalpdf.pdf");

Любая помощь или руководство будут высоко оценены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...