Um mittels Java PDF-Dateien erzeugen und bearbeiten zu können, benötigt man zunächst ein Framework, das die benötigten Funktionen bereitstellt. Listen mit möglichen Bibliotheken gibt es z.B. hier: Java libraries to read and write PDF files, Open Source PDF Libraries in Java.
Ich habe mich für iText entschieden. Nachdem man erstmal die Erzeugung der iText.jar mittels ant hinbekommen hat (siehe How I install my development environment for iText (ANT)) ist der Rest ein Kinderspiel. Das folgende Programm fügt dem ausfüllbaren PDF Antrag.pdf den Wert Berlin in das benannte Feld Wohnort ein und speichert die Datei als AntragAusgefuellt.pdf.
-
package com.stefanmacke.test;
-
import com.lowagie.text.*;
-
import com.lowagie.text.pdf.*;
-
import java.io.*;
-
import java.util.*;
-
public class PDFTest
-
{
-
{
-
try
-
{
-
PdfReader reader = new PdfReader("Antrag.pdf");
-
PdfStamper stamper = new PdfStamper(reader, baos);
-
AcroFields form = stamper.getAcroFields();
-
form.setField("Wohnort", "Berlin");
-
stamper.close();
-
baos.writeTo(fos);
-
fos.flush();
-
reader.close();
-
}
-
{
-
}
-
}
-
}
Update 18:34 Uhr: Habe gerade noch einen Beitrag zum selben Thema im RubyPDF Blog gefunden. Allerdings verwendet der Autor dort iTextSharp, weshalb ich die Lösung natürlich ein wenig schöner finde



