private void exportToPdfButton_Click(object sender, RoutedEventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Pdf files(*.pdf) | *.pdf"; if (saveFileDialog.ShowDialog() == true) { PdfSerializer serializer = new PdfSerializer(App.UserFoods); string result = serializer.SerializeWithSummary(); string[] lines = result.Split('\n'); PdfDocument document = new PdfDocument(); document.Info.Title = saveFileDialog.SafeFileName; PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page); XFont font = new XFont("Verdana", 10, XFontStyle.BoldItalic); int i = 0; foreach (string line in lines) { gfx.DrawString(line, font, XBrushes.Black, new XRect(0, 0 + i, page.Width, page.Height), XStringFormats.TopLeft); i += 10; } document.Save(saveFileDialog.FileName); } }
public void Serialize_ShouldSerializeListOfIFoodObjestsToPdf_ReturnsPdfSerializedString() { PdfSerializer serializer = new PdfSerializer(_foods); string expectedResult = "Ingredients:\r\n\t-Apple\r\n\t\t*Calories: 15\r\n\t\t*Carbohydrates: 10\r\n\t\t*Fat: 5\r\n\t\t*Proteins: 13\r\n\t\t*Weight: 100"; expectedResult += "\r\n\t-Melon\r\n\t\t*Calories: 8\r\n\t\t*Carbohydrates: 12\r\n\t\t*Fat: 22\r\n\t\t*Proteins: 33\r\n\t\t*Weight: 100"; expectedResult += "\r\n\t-Orange\r\n\t\t*Calories: 1\r\n\t\t*Carbohydrates: 2\r\n\t\t*Fat: 3\r\n\t\t*Proteins: 4\r\n\t\t*Weight: 100\r\n"; string result = serializer.Serialize(); Assert.AreEqual(expectedResult, result); }