200 likes | 270 Views
Und das geht natürlich auch: Berichte. Venelina Jordanova Venelina@VandU.eu. Uwe Habermann Uwe@VandU.eu. Silverlight Printing API. Ähnlich Reportbehavior 90 in VFP Ganze Seite wird als Bild gedruckt Auflösung grundsätzlich 600 dpi Seitenbeschreibung in XAML. Silverlight Printing API.
E N D
Und das geht natürlich auch: Berichte VenelinaJordanova Venelina@VandU.eu Uwe Habermann Uwe@VandU.eu
Silverlight Printing API • Ähnlich Reportbehavior 90 in VFP • Ganze Seite wird als Bild gedruckt • Auflösung grundsätzlich 600 dpi • Seitenbeschreibung in XAML
Silverlight Printing API • Button aus Toolbox • Click Ereignishandler hinzufügen
Silverlight Printing API • KlassePrintDocument usingSystem.Windows.Printing; PrintDocumentDruckObjekt = newPrintDocument(); DruckObjekt.Print( "mein Druckauftrag");
Silverlight Printing API DruckObjekt.PrintPage += new System.EventHandler<PrintPageEventArgs>( DruckObjekt_PrintPage); void DruckObjekt_PrintPage(object sender, PrintPageEventArgs e) { e.PageVisual = this.LayoutRoot; }
Silverlight Printing API • Druckvorgang muss durch eine Benutzeraktion initiiert werden • Druckerauswahl wird immer angezeigt • Also immer wie … TO PRINTER PROMPT • Migration von VFP Berichten möglich
Silverswitch Berichte • ProductsTemplate.xaml • Migriert: • ProductTemplate.xaml • DataGrid Berichte
FRX mit VFP COM Server • Druckaufbereitung auf der Server Seite • FRX Ausführung in VFP COM Server • Erstellung von PDF Datei • Mit Reportlistener • PDF mit Freeware DLL Libhpdf.dll erstellen
FRX mit VFP COM Server • PDF Ausgabe auf der Client Seite • Ausgabe im Textmodus wie Reportbehavior 80 oder als Bild wie Reportbehavior 90 möglich
FRX mit VFP COM Server • VFP COM Server muss Exe Datei sein • DLL geht nicht!
FRX mit VFP COM Server • Registrierung auf Zielrechner • ComPdfCreator.exe /regserver • Un-Registrierung auf Zielrechner • ComPdfCreator.exe /unregserver
FRX mit VFP COM Server • Bericht sollte autonom sein • Tabellen in Datenumgebung • Private Datensitzung
FRX mit VFP COM Server • Funktion liefert PDF Dateinamen zurück
FRX mit VFP COM Server • AufrufausActionButton Name="vfxCreatePDFActionButton" ProcedureName= "cexample.createpdf" ProcedureParameter="customers.frx" OperationName= "CreatePDFFromFRX" OperationResultLoaded= "vfxCreatePDFActionButton_ OperationResultLoaded"
FRX mit VFP COM Server • URL der Anwendungermitteln private void vfxCreatePDFActionButton_OperationResultLoaded (object sender, EventArgs e) { string applicationUrl = string.Format("{0}/", Application.Current.Host.Source.AbsoluteUri. Replace("/ClientBin/VfxLoader.xap", ""));
FRX mit VFP COM Server • URL für PDF erstellen string pdfPageURL = applicationUrl+ "UploadedFiles/" + vfxCreatePDFActionButton.OperationResult.result;
FRX mit VFP COM Server • PDF in neuem Browser Fensteröffnen System.Windows.Browser.HtmlPage.Window.Navigate( new Uri(pdfPageURL, UriKind.RelativeOrAbsolute), "_blank", "toolbar=no, location=no, status=no, menubar=no, resizable=yes"); }
Vergleich • Silverlight • 600 DPI • Text kann nicht kopiert werden • FRX • Ausgabe im Textmodus wie Reportbehavior 80 oder als Bild wie Reportbehavior 90 möglich
Vielen Dank undviel Spaß mit Silverlight wünschenVenelina & Uwe