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
Post a Comment