- Erzeugen eines Document-Objektes
- Erzeugen eines Writers, der in die PDF-Datei schreibt
- Öffnen der PDF-Datei
- Schreiben des Textes
- Schließen der PDF-Datei
Der eigentliche Schreibvorgang kann auf zwei übereinander angeordneten Schichten ausgeführt werden. Auf ihnen können Text und Bilder beliebig vom Entwickler eingefügt werden. Hierzu werden Objekte vom Typ PdfContentByte entweder von der unteren über die Methode PdfWriter.getDirectContentUnder() oder von der oberen über die Methode PdfWriter.getDirectContent() erzeugt. Die Elemente der oberen Ebene überlappen insgesamt diejenigen der unteren. Innerhalb beider Schichten überlappen sich die eingefügten Elemente gemäß ihrer Einfügungsreihenfolge. D.h. dass die später eingefügten Elemente die vorhergehenden überdecken. Um Text darzustellen muss zunächst ein BaseFont-Objekt gebildet und diesem eine Font-Familie mit der gewünschten Größe zugewiesen werden. Das erledigt die Methode BaseFont.createFont(), von denen die Klasse BaseFont einige überladene Versionen bereitstellt. Die hier verwendete parameterlose Variante erzeugt eine nicht eingebettete winansi-codierte Helvetica.
Die Methode PdfContentByte.moveText() definiert den Initialisierungspunkt des einzufügenden Textes. Bezugspunkte sind hierbei auf Seiten der Darstellungsfläche die untere linke Ecke und auf Seiten der Schrift das linke Ende der Baseline. PdfContentByte.showText() übergibt schließlich den einzufügenden String an der spezifizierten Position.
Um gesperrte Schriften zu erzeugen, können Wort- und Buchstabenabstände bei Bedarf mit den Methoden PdfContentByte.setWordSpacing() und PdfContentByte.setCharacterSpacing() manipuliert werden.