c # - WPF/iTextSharp: Sådan sendes MemoryStream til Windows, for at den kan håndtere åbning af PDF?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger iTextSharp til at generere PDF ud af HTML. Jeg kan gemme PDF-filen ok, men jeg vil håndtere PDF'en for at operativsystemet skal kunne åbnes uden at skulle gemme det på disken først.
Hvordan kan jeg gøre det? Jeg gør dette fra en WPF ansøgning.


Her er min kode hidtil:


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();


Hvordan kan jeg 'materialisere' memoryStream.ToArray () til en .pdf-fil (i hukommelsen) og sende den til Windows?

Bedste reference


'Send til Windows' betyder ikke noget. Kun en proces ved, hvordan man håndterer et PDF-dokument. Som Adobe Acrobat. En proces har ingen brug for det, du gemmer i hukommelsen, det kan ikke komme til det. Det har brug for en fil. Det er et ikke-problem i Windows, når du skriver en fil, du skriver til hukommelsen først. Filsystemet cache. Forskellen mellem disken og hukommelsen er meget lille i Windows, et vigtigt designelement i operativsystemet.