Saya membuat aplikasi Xamarin.Forms. Saya membuat PDF dengan contoh sederhana dengan bantuan Syncfusion untuk menghasilkan PDF dan mengonversinya secara streaming. PDF dibuat, dikirim dan berukuran sekitar 27KB. Tetapi ketika saya membuka email saya dan membukanya saya mendapatkan We can't open this file
dari Adobe Reader:
//Create a new PDF document.
PdfDocument doc = new PdfDocument();
//Add a page.
PdfPage page = doc.Pages.Add();
//Create a PdfGrid.
PdfGrid pdfGrid = new PdfGrid();
//Add values to list
List<object> data1 = new List<object>();
Object row1 = new { ID = "E01", Name = "Clay" };
Object row2 = new { ID = "E02", Name = "Thomas" };
Object row3 = new { ID = "E03", Name = "Andrew" };
Object row4 = new { ID = "E04", Name = "Paul" };
Object row5 = new { ID = "E05", Name = "Gray" };
data1.Add(row1);
data1.Add(row2);
data1.Add(row3);
data1.Add(row4);
data1.Add(row5);
//Add list to IEnumerable
IEnumerable<object> dataTable = data;
//Assign data source.
pdfGrid.DataSource = dataTable;
//Draw grid to the page of PDF document.
pdfGrid.Draw(page, new PointF(10, 10));
//Save the PDF document to stream.
MemoryStream stream = new MemoryStream();
doc.Save(stream);
//Close the document.
doc.Close(true);
var message = new MailMessage();
message.From = new MailAddress("admin.server.com");
message.To.Add("[email protected]");
message.Subject = "Subject";
message.Body = "Body";
message.Attachments.Add(new Attachment(stream, "Test.pdf", "application/pdf"));
SmtpClient SmtpServer = new SmtpClient("mail.server.com");
SmtpServer.Host = "mail.server.com";
SmtpServer.Port = 587;
SmtpServer.EnableSsl = false;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("admin.server.com", "1234567");
Bagaimana menemukan apa masalah pembukaannya?
stream.Position
ke0
setelahdoc.Save(stream)
? - person mkl   schedule 15.03.2021