Я создал список, заполненный документами, которые я создал с помощью HtmlRenderer.PdfSharp.PdfGenerator. Теперь я хочу создать новый PDF-файл с объединенными страницами моих документов в списке без сохранения всех документов на моем жестком диске.
Следующий код не работал, поскольку pdfDocument не был открыт в PdfDocumentOpenMode. Импортировать. Но мне кажется, что я могу сделать это, только сохранив все документы на моем жестком диске и открыв их с помощью PdfReader.Open ().
private PdfDocument CombinePdfs(List<PdfDocument> pdfDocuments)
{
PdfDocument combinedPdf = new PdfDocument();
foreach (var pdfDocument in pdfDocuments)
{
foreach (PdfPage page in pdfDocument.Pages)
{
combinedPdf.AddPage(page);
}
}
return combinedPdf;
}
Любая подсказка, как я могу решить эту проблему?
Редактировать:
Следующий код работал на меня.
private PdfDocument CombinePdfs(List<PdfDocument> pdfDocuments)
{
PdfDocument combinedPdf = new PdfDocument();
foreach (var pdfDocument in pdfDocuments)
{
MemoryStream stream = new MemoryStream();
pdfDocument.Save(stream, false);
PdfDocument importDocument = PdfReader.Open(stream, PdfDocumentOpenMode.Import);
foreach (PdfPage page in importDocument.Pages)
{
combinedPdf.AddPage(page);
}
}
return combinedPdf;
}