Frage Exportieren von PDF-Dateien in Java


Ich habe eine Tabelle, die ihre Daten von einer SQL-DB bekommt. Ich versuche den einfachsten Weg zu finden, diese Tabelle in eine PDF-Datei zu exportieren. Nichts Besonderes, nur ein Titel und der Tisch mit seinem Inhalt. Ich habe hier herumgesucht und auch in externe Pakete eingecheckt (Dokosis und so), aber ich habe mich nicht entschieden. Ich bin ziemlich neu in Java und ich suche nach dem einfachsten Weg, um eine Tabelle in ein PDF zu exportieren.

Versuchen Sie, mögliche Fragen zu beantworten, hier ist, wie ich den Tisch bevölkern:

try {
   result = DBConnection.getTableContent("customers", attributes, where, null, null);
   DefaultTableModel model = (DefaultTableModel) searchTable.getModel();
   model.setRowCount(0);
   for (int i = 0; i < result.size(); i++) {                        
      model.addRow(result.get(i).toArray());
   }
}

Vielen Dank


5
2018-05-21 17:07


Ursprung


Antworten:


Sie können iText PDF Api verwenden. Es ist ziemlich einfach zu bedienen. Sie müssen nur das Glas herunterladen, importieren Sie die Klasse und Sie sind gut zu gehen. Schau dir das an Anleitung wie man die Klassen benutzt


7
2018-05-21 17:13



Ich habe einen Beispielcode:

public static void createSamplePDF(String header[], String body[][]) throws Exception{
    Document documento = new Document();
    //Create new File
    File file = new File("D:/newFileName.pdf");
    file.createNewFile();
    FileOutputStream fop = new FileOutputStream(file);
    PdfWriter.getInstance(documento, fop);
    documento.open(); 
    //Fonts
    Font fontHeader = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);
    Font fontBody = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL);
    //Table for header
    PdfPTable cabetabla = new PdfPTable(header.length);
    for (int j = 0; j < header.length; j++) {
        Phrase frase = new Phrase(header[j], fontHeader);
        PdfPCell cell = new PdfPCell(frase);
        cell.setBackgroundColor(new BaseColor(Color.lightGray.getRGB()));
        cabetabla.addCell(cell);
    }
    documento.add(cabetabla);
    //Tabla for body
    PdfPTable tabla = new PdfPTable(header.length);
    for (int i = 0; i < body.length; i++) {
        for (int j = 0; j < body[i].length; j++) {
            tabla.addCell(new Phrase(body[i][j], fontBody));
        }
    }
    documento.add(tabla);
    documento.close();
    fop.flush();
    fop.close();
}

Ruf einfach an:

createSamplePDF(new String[]{"col1", "col2"}, new String[][]{{"rw11", "rw12"},{"rw21", "rw22"}});

5
2018-05-21 18:06



Verwenden Sie eine Java-PDF-Generierungsbibliothek. Vielleicht könnte eine MS-Access-Datenbank das für Sie tun, aber JDBC bietet diese Art von Funktion nicht, und es sollte nicht.


0
2018-05-21 17:18