Neujahr 2021: Mein erster Beitrag in 2021 – Hyperlinks in PDF: iText 7.1

Wie können Hyperlinks in PDFs erzeugt werden?
UML iText Links URL

Da die Klasse Link in iText 7.1 von der Text Klasse erbt, wie das UML oben zeigt, ist es einfach. Hier ein Beispiel:

PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF

Ein PDF in Java ist mit iText 7 in ein paar Minuten gemacht.
Pdf to iText

Wir können z.B. ein String Liste mit nur 3 Zeilen Code mit dem Times Roman Font auf DIN A4 ausgeben:

Folgende Abhängigkeit muss im Projekt in der pom.xml enthalten sein: „PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF“ weiterlesen

Mal was anderes als COVID-19 Impfstoff BNT162b2: Maven install auf einem Raspberry Pi 4 B mit Beispielprojekt in 10 Minuten mit Archetype

Auf dem Rasberry Pi 4 ist ja default Java 11 installiert. Nun wollen wir mal schnell ein kleines Java Projekt mit Maven erstellen. Da ist schnell gemacht mit Archetype vom Maven.
Danke Dr.Kleinhirn.eu für die Bereitstellung der Mindmap

Also nur noch Maven 3.6.0 installieren mit: sudo apt-get install maven

Dann checken ob alles richtig installiert ist mit: mvn -version

Dann in einem leeren Verzeichnis „Mal was anderes als COVID-19 Impfstoff BNT162b2: Maven install auf einem Raspberry Pi 4 B mit Beispielprojekt in 10 Minuten mit Archetype“ weiterlesen

Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen

Wer noch 5 Minuten hat, kann das Beispielprojekt mit der CO2-Ampel auch gleich in einem Docker Container laufen lassen. Vorraussetzung Docker läuft und das Beispielprojekt wurde installiert.

Dann sind, dank der automatisch generierten Docker-Files nur diese 3 Schritte im Verzeichnis der root pom nötig:

Schon läuft der CO2 Service http://localhost:8080/v1/rest/co2 und CO2-Ampel über http://localhost:8080/v1/rest/co2ampel

Cool. Und hier das Dockerfile … „Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen“ weiterlesen

Weil heute Sonntag ist: Java CO2 MQTT Client

Weil heute Sonntag ist. „Freut euch immer„! Nun ein kleiner Java CO2 MQTT Client um auch auf allen Betriebssystemen mit Java die CO2 Daten zu empfangen. Nicht nur für den Raspberry Pi auch Mac und Windows (ungetestet;-)).

Das selbstausführende JAR laden (siehe unten) und starten mit:

java -jar TWCo2Monitor-0.0.1-SNAPSHOT-jar-with-dependencies.jar [PI-Rechner Name/Adresse]

Hier mal eine Ausgabe auf einem Raspberry Pi W Zero:

Der MQTT Client besteht nur aus ein paar Zeilen Java Code: „Weil heute Sonntag ist: Java CO2 MQTT Client“ weiterlesen

Wie können mit Java automatisch Webseiten mit Jsoup am Beispiel Corona abgefragt werden?

Das Robert Koch Institut (RKI) liefert für Deutschland aktuelle Corona-Fall-Zahlen auf dieser Webseite:

https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html

in einer schönen Tabelle die wir mit Jsoup abfragen wollen.

Robert Koch Institut - Corona in Deutschland

Wir schauen uns erst einmal die Stuktur der Seite an. D.h. wir markieren z.B. Niedersachsen und öffnen das rechte Kontexmenü und klicken auf „Element untersuchen“. Nun wird unten der HTML-Quelltext angezeigt. Wir sehen das die Tabelle, an der ersten stelle steht, und mit den tr und td Tags erstellt ist. Das müssen wir für die Analyse wissen.

Hier nun der kommentierte Beispiel-Code: „Wie können mit Java automatisch Webseiten mit Jsoup am Beispiel Corona abgefragt werden?“ weiterlesen

Java Einzeiler: JSONvon URL einlesen mit org.apache.commons.io am Beispiel: Corona – COVID-19


Hatte hier schon mal über die JSON Lib

berichtet. Wie kann damit nun in einer Zeile eine URL abgefragt werden?

Mit Hilfe der org.apache.commons.io geht das ganz einfach. Also erst einmal die Lib in die pom.xml einbinden.

Was wollen wir nun beispielsweise abfragen? Alle reden von Corona. Also lesen wir die drei aktuellen Werte der Johns Hopkins University ein. Die werden über diese Webseite aktuell dargestellt. Hier mal ein Foto:

tinyurl.com/virus-corona
Corona Status

Die Daten werden auch über eine JSON-Rest API unter https://covid19.mathdro.id/api bereitgestellt. Hier mal das Ergebniss einer Abfrage: „Java Einzeiler: JSONvon URL einlesen mit org.apache.commons.io am Beispiel: Corona – COVID-19“ weiterlesen

Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?

Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden? Das geht mit einem Java-Einzeiler:

int availableProcessors = Runtime.getRuntime().availableProcessors();

Die unterschiedlichen Raspberry Pi Modelle haben einen Kern: „Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?“ weiterlesen

Beispiel Verwendung des Maven Plugin: de.wenzlaff.command.maven.plugin

Vor einiger Zeit hatte ich hier mal beschrieben, wie ein einfaches Maven-Plugin erstellt werden kann, dass alle Kommandozeilen Parameter im Log ausgibt z.B. ls, ps, ls -la. So können im Build-Prozess Verzeichnisse oder Prozesse überwacht werden.

Wer aber nur das Kommandozeilen Plugin nutzen will, kann dieses mit ein paar Zeilen in der pom.xml tun, da das Plugin auf Maven-Central frei verfügbar ist.

Squirrel (Sciurus vulgaris) in der 3.Etage am 15.01.2020

Einfach die pom.xml um folgende Zeilen ergänzen: „Beispiel Verwendung des Maven Plugin: de.wenzlaff.command.maven.plugin“ weiterlesen

Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen

Ein eigenes Maven-Plugin zu erstellen ist nicht schwer und ist schnell gemacht. Wir wollen ein Plugin welches einen Verzeichnis Inhalt mit ls -la in das Log schreibt erstellen. Es können aber auch andere Linux Befehle übergeben werden. Hier nun die 6 Schritte mit den Vorlagen die mind. nötig sind.

Freut euch immer
Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers

1. Wir legen in Eclipse ein neue Maven Projekt mit Java 1.8 an. mit Artifact Id und Group Id de.wenzlaff.command.maven.plugin

2. In der pom.xml fügen wir die folgenden Abhängikeiten hinzu: „Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen“ weiterlesen