protected void startPdfExport(JCTableExt jctable, List data, AbstractDataSource ads) {
setMessages(getTranslationFor("MSG_Bericht_creatingMessage"));
log.info("PDF Export started!");
log.info("start loading data for report");
terminData = data;
PDFDataCT termineDaten = getDataCT();
//Ermittelen des Strings
log.info("end loading data for report");
//erstellt ein neues pdf-Document, liegt dann global in der Variable pdfdocument vor
File tempFile;
try {
tempFile = File.createTempFile("terminplan", ".pdf");
tempFile.deleteOnExit();
setPdfFilename(tempFile);
createNewDocument(tempFile);
//erstellt die Header der Tabelle
//int bezeichnung = jctable.getPixelWidth(1);
//int plansoll = jctable.getPixelWidth(2);
//jctable.setPixelWidth(1, (int)(bezeichnung*1.25));
//jctable.setPixelWidth(2, (int)(plansoll*1.25));
PdfPCell[] cells = createDocHeader(termineDaten);
for (int c = 0; c < cells.length; c++) {
mainTable.addCell(cells[c]);
mainTable.addCell(createEmptyCell(false));
}
if (ads instanceof TerminplanungTableModel) {
getDataCT().configTermine((TerminplanungTableModel) ads, getColWidths(jctable));
createTerminTable(jctable);
}
getDocument().add(mainTable);
getDocument().close();
//startet den PDF-Bericht
startDatei(getPdfFilename(), getMessageParent());
log.info("PDF Export ended!");
setMessages(getTranslationFor("MSG_Bericht_created"));
}
catch (Exception e) {
log.error("Problem beim Erstellen des Berichts aufgetreten.");
e.printStackTrace();
TevonOptionPane.showErrorPane(getMessageParent(),
getTranslationFor("MSG_ErrorCreatingBericht"), getTranslationFor("MSG_error"));
}
}