2017-03-22 20 views
0

Ich habe ein VerticalLayout mit Komponenten in Vaadin gefüllt. Bitte beachten Sie, dass ich dieses Layout genauso wie auf ein A4-Papier drucken werde. Jede Idee, wie dies zu tun ist, wird Code Sample groß sein.So drucken Sie in Vaadin

+0

Wenn Sie eine einfache Schaltfläche zum Drucken meinen, können Sie 'JavaScript.eval (" print(); ")' in Ihrem Button-Klick-Listener versuchen. Oder möchten Sie, dass der Benutzer eine PDF-Datei mit Ihrem Layout herunterlädt? –

+3

Schauen Sie sich [Drucken] (https://vaadin.com/docs/-/part/framework/advanced/advanced-printing.html) aus dem Buch Vaadin an –

Antwort

0

Es gibt keine "eingebaute" API zum Drucken in Vaadin. Sie müssen die native Druck-API des Browsers verwenden.

0

Gerade aus dem Vaadin doc ...

Drucken des Browser-Fenster

Vaadin haben keine spezielle Unterstützung für den Druck in Browser starten, aber Sie können leicht die JavaScript-print() Methode verwenden, das sich öffnet, das Druckfenster des Browsers.

Button print = new Button("Print This Page"); 
print.addClickListener(new Button.ClickListener() { 
    public void buttonClick(ClickEvent event) { 
     // Print the current page 
     JavaScript.getCurrent().execute("print();"); 
    } 
}); 

Die Schaltfläche in dem obigen Beispiel würde die aktuelle Seite, einschließlich der Schaltfläche selbst drucken. Sie können solche Elemente in CSS ausblenden und die Seite anderweitig zum Drucken formatieren. Stildefinitionen für das Drucken werden in einem @media print {} -Block in CSS definiert.