Examples
Here are some examples apps built using sharpPDF-SL.
Text and Table Example
This example is lifted straight from the classic sharpPDF samples and adapted for sharpPDF-SL. It demonstrates some of the classic features available in sharpPDF.
pdfDocument myDoc = new pdfDocument("Sample Application", "Me", false); pdfPage myFirstPage = myDoc.addPage(); myFirstPage.addText("sharpPDF-SL 1.0 - Table Sample", 100, 660, predefinedFont.csHelveticaOblique, 30, new pdfColor(predefinedColor.csCyan)); /*Table's creation*/ pdfTable myTable = new pdfTable(); //Set table's border myTable.borderSize = 1; myTable.borderColor = new pdfColor(predefinedColor.csDarkBlue); /*Create table's header*/ myTable.tableHeader.addColumn(new pdfTableColumn("id", predefinedAlignment.csRight, 50)); myTable.tableHeader.addColumn(new pdfTableColumn("user", predefinedAlignment.csCenter, 150)); myTable.tableHeader.addColumn(new pdfTableColumn("tel", predefinedAlignment.csLeft, 80)); myTable.tableHeader.addColumn(new pdfTableColumn("email", predefinedAlignment.csLeft, 150)); /*Create table's rows*/ pdfTableRow myRow = myTable.createRow(); myRow[0].columnValue = "1"; myRow[1].columnValue = "Test 1"; myRow[2].columnValue = "898-0210989"; myRow[3].columnValue = "Andrew.red@sharppdf.net"; myTable.addRow(myRow); myRow = myTable.createRow(); myRow[0].columnValue = "2"; myRow[1].columnValue = "Test 2"; myRow[2].columnValue = "298-55109"; myRow[3].columnValue = "Andrew.green@sharppdf.net"; myTable.addRow(myRow); myRow = myTable.createRow(); myRow[0].columnValue = "3"; myRow[1].columnValue = "Test 3"; myRow[2].columnValue = "24-5510943"; myRow[3].columnValue = "Andrew.white@sharppdf.net"; myTable.addRow(myRow); /*Set Header's Style*/ myTable.tableHeaderStyle = new pdfTableRowStyle(predefinedFont.csCourierBoldOblique, 12, new pdfColor(predefinedColor.csBlack), new pdfColor(predefinedColor.csLightCyan)); /*Set Row's Style*/ myTable.rowStyle = new pdfTableRowStyle(predefinedFont.csCourier, 8, new pdfColor(predefinedColor.csBlack), new pdfColor(predefinedColor.csWhite)); /*Set Alternate Row's Style*/ myTable.alternateRowStyle = new pdfTableRowStyle(predefinedFont.csCourier, 8, new pdfColor(predefinedColor.csBlack), new pdfColor(predefinedColor.csLightYellow)); /*Set Cellpadding*/ myTable.cellpadding = 20; /*Put the table on the page object*/ myFirstPage.addTable(myTable, 100, 600); myTable = null; return myDoc;
Static Image Example
This example shows how to add a static image to a PDF using sharpPDF-SL. The image can be loaded from any number of static resources such as an embedded resource, URL, or from Isolated Storage.
pdfDocument myDoc = new pdfDocument("Sample Application", "Me", false); pdfPage myFirstPage = myDoc.addPage(); myFirstPage.addImage( new System.Windows.Media.Imaging.WriteableBitmap( (System.Windows.Media.Imaging.BitmapImage)SLLogo.Source), 5, 150); return myDoc;
Dynamic Image Example
This example shows how to add a dynamic images to a PDF using sharpPDF-SL using a PNG or JPEG. JPEG images can be loaded as streams and passed directly to sharpPDF using the classic API.
pdfDocument myDoc = new pdfDocument("Sample Application", "Me", false); pdfPage myFirstPage = myDoc.addPage(); System.Windows.Media.Imaging.BitmapImage bi = new System.Windows.Media.Imaging.BitmapImage(); bi.SetSource(FS); myFirstPage.addImage( new System.Windows.Media.Imaging.WriteableBitmap(bi), 5, 100); //if the image is a JPEG, add a second page, //passing the JPEG stream directly to the PDF. if (filename.ToLower().Substring(filename.Length - 3, 3) == "jpg") { pdfPage mySecondPage = myDoc.addPage(); mySecondPage.addImage(FS, 5, 100); } return myDoc;
UIElement Example
This example shows how to use a Silverlight UIElement object for creation of a PDF. The UIElement and its child objects are converted to a bitmap and written to the PDF. The UIElement can also be passed with a Transform object. This can be used to rotate, crop, and resize UIElements and/or images inside the PDF.
pdfDocument myDoc = new pdfDocument( "Sample Application", "Me", false); //Pass without Transform; pdfPage myFirstPage = myDoc.addPage(); myFirstPage.addImage( SLStackPanel, null, 5, 100); //Pass with Transform pdfPage mySecondPage = myDoc.addPage(); ScaleTransform Scaler = new ScaleTransform(); Scaler.ScaleX = .5; mySecondPage.addImage( SLStackPanel, Scaler, 5, 100); return myDoc;