c# - Writing MemoryStream into SaveAs Dialogue Box in WInform -


i have image want write itext pdf file using c#.here code generate image chart , write itext pdf file.

document pdfdoc = new document(pagesize.a4, 10f, 10f, 10f, 0f);      using (memorystream stream = new memorystream())     {         pdfdoc.open();         piechart.saveimage(stream, chartimageformat.png);         itextsharp.text.image chartimage = itextsharp.text.image.getinstance(stream.getbuffer());         chartimage.scalepercent(75f);         pdfdoc.add(chartimage);     }         pdfdoc.close(); 

now per reuirement have open pdf file using save dialogue box.here code trying open pdf file..

stream mystream; savefiledialog savefiledialog1 = new savefiledialog();          savefiledialog1.filter = "pdf files (*.pdf)|*.pdf|all files (*.*)|*.*";         savefiledialog1.filterindex = 0;         savefiledialog1.restoredirectory = true;          if (savefiledialog1.showdialog() == dialogresult.ok)         {             if ((mystream = savefiledialog1.openfile()) != null)             {                 // code write stream goes here.                 pdfwriter.getinstance(pdfdoc, mystream);                 mystream.close();             }         } 

but not able pdf file.dialogue box coming not able pdf file. please me resolve issue . in advance.

you need save ur streambytes data file ...

stream mystream; savefiledialog savefiledialog1 = new savefiledialog();          savefiledialog1.filter = "pdf files (*.pdf)|*.pdf|all files (*.*)|*.*";         savefiledialog1.filterindex = 0;         savefiledialog1.restoredirectory = true;          if (savefiledialog1.showdialog() == dialogresult.ok)         {             if ((mystream = savefiledialog1.openfile()) != null)             {                 // code write stream goes here.                 pdfwriter.getinstance(pdfdoc, mystream);                 mystream.close();  using (filestream file = new filestream(savefiledialog1.filename, filemode.create, system.io.fileaccess.write,fileshare.readwrite)) {    byte[] bytes = new byte[mystream.length];    ms.read(bytes, 0, (int)mystream.length);    file.write(bytes, 0, bytes.length);    mystream.close(); }              }         } 

you can write stream data using streamwriter...


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -