After a few hours serching a way to put a image into pdf in silverlight, something worked out, here goes:
Libraries used:
Imports silverPDF
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports iTextSharp.text
Imports ImageTools
Imports ImageTools.IO.Jpeg
Imports ImageTools.ImageBase
Imports ImageTools.Helpers
Imports ImageTools.ImageExtensions
Code snippet (vb):
Dim d As New SaveFileDialog()
d.Filter = "PDF file format|*.pdf"
' Save the document...
If d.ShowDialog() = True Then
Dim document As New PdfDocument()
Dim page As PdfPage = document.AddPage()
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
Dim img As ImageTools.ImageBase = Me.canvas1.ToImage()
Dim mstream As New MemoryStream()
Dim encoder As New JpegEncoder()
encoder.Encode(img, mstream)
mstream.Seek(0, SeekOrigin.Begin)
Dim pdfImg As XImage = XImage.FromStream(mstream)
gfx.DrawImage(pdfImg, 0, 0)
document.Save(d.OpenFile())
End If
CodeSnippet (C#):
SaveFileDialog d = new SaveFileDialog(); d.Filter = "PDF file format|*.pdf"; // Save the document... if (d.ShowDialog() == true) { PdfDocument document = new PdfDocument(); PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page); ImageTools.ImageBase img = this.canvas1.ToImage(); MemoryStream mstream = new MemoryStream(); JpegEncoder encoder = new JpegEncoder(); encoder.Encode(img, mstream); mstream.Seek(0, SeekOrigin.Begin); XImage pdfImg = XImage.FromStream(mstream); gfx.DrawImage(pdfImg, 0, 0); document.Save(d.OpenFile()); }