Avatar billede jpi Mester
21. april 2020 - 12:00 Der er 3 kommentarer

iTextsharp Lave MemoryStream og gemme på disk

Hej

Følgende virker fint (lave pdf direkte):
Dim FS As New FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None)
Dim Doc As New Document(PageSize.A4.Rotate)
Dim Writer = PdfWriter.GetInstance(Doc, FS)

'Tilføj data til Writer/Doc

FS.close
Doc.close


Men jeg skal lave det i en MemoryStream først og derefter gemme på disk

Prøver med dette, men det giver blot en fil med 15 bytes...

Dim MS As New MemoryStream()
Dim Doc As New Document(PageSize.A4.Rotate)
Dim Writer = PdfWriter.GetInstance(Doc, MS)

'Tilføj data til Writer/Doc

Dim FS As New FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None)
MS.WriteTo(FS)
FS.Close()
Doc.Close()
MS.Close()

Hvad gør jeg galt?
Avatar billede arne_v Ekspert
21. april 2020 - 14:02 #1
Proev:

MS.WriteTo(FS)

->

FS.Write(MS.ToArray())
Avatar billede jpi Mester
27. april 2020 - 10:55 #2
Tak, men ingen af de to løsninger ser ud til at virke.
Filen er tom.
Avatar billede jpi Mester
27. april 2020 - 12:13 #3
Jeg har dog løst det på anden måde.
(Laver filen i to steps i stedet)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester