Erweiterungen
This commit is contained in:
@@ -9,7 +9,6 @@ import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import com.vaadin.flow.server.StreamResource;
|
||||
import de.assecutor.votianlt.model.invoices.SystemInvoiceData;
|
||||
import de.assecutor.votianlt.pages.base.ui.view.AdminLayout;
|
||||
import de.assecutor.votianlt.service.SystemInvoiceService;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
@@ -34,21 +33,12 @@ public class PdfTestView extends VerticalLayout {
|
||||
H2 title = new H2("PDF Test");
|
||||
add(title);
|
||||
|
||||
Button generatePdfButton = new Button("Test-Rechnung PDF generieren");
|
||||
generatePdfButton.addClickListener(e -> generateTestPdf());
|
||||
|
||||
Button generateHtmlPdfButton = new Button("PDF aus vltInvoice.html generieren");
|
||||
generateHtmlPdfButton.addClickListener(e -> generateHtmlPdf());
|
||||
|
||||
Button generateTestPdfFromHtmlButton = new Button("Test PDF aus vltInvoice.html erstellen");
|
||||
generateTestPdfFromHtmlButton.addClickListener(e -> generateTestPdfFromHtml());
|
||||
|
||||
Button showPdfInlineButton = new Button("PDF inline anzeigen");
|
||||
showPdfInlineButton.addClickListener(e -> showPdfInline());
|
||||
|
||||
// Create button layout
|
||||
HorizontalLayout buttonLayout = new HorizontalLayout();
|
||||
buttonLayout.add(generatePdfButton, generateHtmlPdfButton, generateTestPdfFromHtmlButton, showPdfInlineButton);
|
||||
buttonLayout.add(generateHtmlPdfButton);
|
||||
buttonLayout.setSpacing(true);
|
||||
|
||||
// Initialize PDF viewer
|
||||
@@ -62,27 +52,6 @@ public class PdfTestView extends VerticalLayout {
|
||||
add(pdfViewer);
|
||||
}
|
||||
|
||||
private void generateTestPdf() {
|
||||
try {
|
||||
SystemInvoiceData sampleData = systemInvoiceService.createSampleInvoiceData();
|
||||
byte[] pdfBytes = systemInvoiceService.generateInvoicePdf(sampleData);
|
||||
|
||||
StreamResource resource = new StreamResource("test-rechnung.pdf",
|
||||
() -> new ByteArrayInputStream(pdfBytes));
|
||||
resource.setContentType("application/pdf");
|
||||
|
||||
getUI().ifPresent(ui -> {
|
||||
var registration = ui.getSession().getResourceRegistry().registerResource(resource);
|
||||
ui.getPage().open(registration.getResourceUri().toString(), "_blank");
|
||||
});
|
||||
|
||||
Notification.show("PDF erfolgreich generiert!", 3000, Notification.Position.BOTTOM_CENTER);
|
||||
} catch (Exception ex) {
|
||||
Notification.show("Fehler beim Generieren des PDFs: " + ex.getMessage(),
|
||||
5000, Notification.Position.BOTTOM_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
private void generateHtmlPdf() {
|
||||
try {
|
||||
byte[] pdfBytes = systemInvoiceService.generateInvoicePdfFromHtml();
|
||||
@@ -102,48 +71,4 @@ public class PdfTestView extends VerticalLayout {
|
||||
5000, Notification.Position.BOTTOM_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
private void generateTestPdfFromHtml() {
|
||||
try {
|
||||
SystemInvoiceData sampleData = systemInvoiceService.createSampleInvoiceData();
|
||||
byte[] pdfBytes = systemInvoiceService.generateInvoicePdfFromHtml();
|
||||
|
||||
StreamResource resource = new StreamResource("test-invoice-from-html.pdf",
|
||||
() -> new ByteArrayInputStream(pdfBytes));
|
||||
resource.setContentType("application/pdf");
|
||||
|
||||
getUI().ifPresent(ui -> {
|
||||
var registration = ui.getSession().getResourceRegistry().registerResource(resource);
|
||||
ui.getPage().open(registration.getResourceUri().toString(), "_blank");
|
||||
});
|
||||
|
||||
Notification.show("Test PDF aus HTML erfolgreich generiert!", 3000, Notification.Position.BOTTOM_CENTER);
|
||||
} catch (Exception ex) {
|
||||
Notification.show("Fehler beim Generieren des Test PDFs aus HTML: " + ex.getMessage(),
|
||||
5000, Notification.Position.BOTTOM_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
private void showPdfInline() {
|
||||
try {
|
||||
SystemInvoiceData sampleData = systemInvoiceService.createSampleInvoiceData();
|
||||
byte[] pdfBytes = systemInvoiceService.generateInvoicePdf(sampleData);
|
||||
|
||||
StreamResource resource = new StreamResource("inline-invoice.pdf",
|
||||
() -> new ByteArrayInputStream(pdfBytes));
|
||||
resource.setContentType("application/pdf");
|
||||
|
||||
getUI().ifPresent(ui -> {
|
||||
var registration = ui.getSession().getResourceRegistry().registerResource(resource);
|
||||
pdfViewer.setSrc(registration.getResourceUri().toString());
|
||||
pdfViewer.setVisible(true);
|
||||
});
|
||||
|
||||
Notification.show("PDF wird inline angezeigt!", 3000, Notification.Position.BOTTOM_CENTER);
|
||||
} catch (Exception ex) {
|
||||
Notification.show("Fehler beim Anzeigen des PDFs: " + ex.getMessage(),
|
||||
5000, Notification.Position.BOTTOM_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user