Gestern hatte ich ja Kalendereinträge erstellt, die man leicht in seinen Kalender importieren kann. Wer aber Old School unterwegs ist,
hat hier die Pläne als PDF zum ausdrucken. Habe in Java mal eben ein paar PDF-Bibellesepläne für das neue Jahr zum ausdrucken erstellt:
bibelleseplan-1-pro-tag-ab-01.01.2021.pdf
bibelleseplan-2-pro-tag-ab-01.01.2021.pdf
bibelleseplan-3-pro-tag-ab-01.01.2021.pdf
Oder wer heute starten will: bibelleseplan-3-pro-tag-ab-25.12.2020.pdf
Hier ist die Java Klasse, mit Stream Klasse und neuer Date API:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
/** * PDF Bibelleseplan. * * @author Thomas Wenzlaff */ public class PDFPlan { public static void main(String[] args) throws FileNotFoundException, DocumentException { PDFPlan p = new PDFPlan(); } public PDFPlan() throws FileNotFoundException, DocumentException { String startDatum = "25.12.2020"; DateTimeFormatter deFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy"); LocalDate heute = LocalDate.parse(startDatum, deFormatter); int kapitelProTag = 3; List<Plan> p = Generator.getBibelleseplan(null, heute, kapitelProTag); List<String> zeile = new ArrayList<>(); p.stream().forEach(e -> zeile.add(" [ ] " + e.toString())); Druck.printPdfDokument(zeile, "bibelleseplan-" + kapitelProTag + "-pro-tag-ab-" + heute.format(deFormatter) + ".pdf"); } } |
Die PDF Erzeugung geht mit iText auch einfach:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
/** * PDF Druck. * * @author Thomas Wenzlaff */ public class Druck { private static final Logger LOG = LogManager.getLogger(Druck.class); /** * Drucke ein PDF Dokument. * * @param zeilen die gedruckt werden sollen * @param dateiname der Dateiname * @throws DocumentException bei Fehler * @throws FileNotFoundException bei Fehler */ public static void printPdfDokument(List<String> zeilen, String dateiname) throws DocumentException, FileNotFoundException { LOG.info("Drucke PDF Dokument: " + dateiname); Font font = getFont(); Document document = new Document(PageSize.A4); PdfWriter.getInstance(document, new FileOutputStream(dateiname)); document.open(); for (String zeile : zeilen) { document.add(new Paragraph(zeile, font)); } document.close(); } private static Font getFont() { Font f = new Font(); f.setFamily("Courier New"); f.setSize(10); return f; } public static void printSystemOut(List<String> kalender) { for (String woche : kalender) { System.out.println(woche); } } } |