我创建了一个列表,其中充满了我使用HtmlRenderer.PdfSharp.PdfGenerator创建的文档。现在,我想用列表中文档的合并页面创建一个新的PDF,而不将所有文档保存到硬盘中。
以下代码不起作用,因为在PdfDocumentOpenMode.Import中未打开pdfDocument。但是对我来说,我似乎只能通过将所有文档保存到硬盘并使用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;
}
任何线索我该如何解决?
您可以将PDF文档保存到MemoryStream
并从那里读取它们,以避免文件I / O。至少您没有硬盘上临时文件的麻烦。