我正在使用iTextSharp从HTML生成PDF。我可以保存PDF文件,但我想处理操作系统的PDF以打开它,而不必先将其保存到磁盘。 我怎样才能做到这一点?我是在WPF应用程序中执行此操作的。
到目前为止,这是我的代码:
MemoryStream memoryStream = new MemoryStream();
TextReader reader = new StringReader(tb.Text);
Document document = new Document(PageSize.A4, 30, 30, 30, 30);
PdfWriter pdfWriter = PdfWriter.GetInstance(document, memoryStream);
HTMLWorker worker = new HTMLWorker(document);
document.Open();
worker.StartDocument();
worker.Parse(reader);
worker.EndDocument();
worker.Close();
pdfWriter.CloseStream = false;
document.Close();
如何将memoryStream.ToArray()“实现”到.pdf文件(在内存中)并将其发送到Windows?
答案 0 :(得分:1)
“发送到Windows”并不意味着什么。只有进程知道如何处理PDF文档。像Adobe Acrobat一样。一个进程对你在内存中存储的内容没有用处,它无法访问它。它需要一个文件。当您编写首先写入内存的文件时,这在Windows中不是问题。文件系统缓存。 Windows中的磁盘和内存之间的差异非常小,这是操作系统的一个重要设计特性。