import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Image; import com.itextpdf.text.PageSize; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfWriter; public class PDFSchreiben { public static final String PDF = "/Users/joecze/Desktop/iText/document.pdf"; public void createPdf(String filename) throws DocumentException, IOException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); PdfContentByte cb = writer.getDirectContent(); BaseFont bf = BaseFont.createFont(); setImage(cb, "img/memory.png", 40); cb.beginText(); cb.setFontAndSize(bf, 12); cb.moveText(20, 105); cb.showText("Falsches Üben von Xylophonmusik quält jeden größeren Zwerg."); cb.moveText(120, -16); cb.setCharacterSpacing(2); cb.setWordSpacing(12); cb.newlineShowText("Erst recht auch jeden kleineren."); cb.endText(); document.close(); } private void setImage(PdfContentByte cb, String imgPath, float scalePercent) throws MalformedURLException, IOException, DocumentException { Image img = Image.getInstance(imgPath); img.scalePercent(scalePercent); img.setAbsolutePosition(cb.getXTLM(), cb.getYTLM()); cb.addImage(img); } private void printMeasures(){ System.out.println("A4-Ma\u00DFe: " + PageSize.A4.getWidth() + "pt x " + PageSize.A4.getHeight() + "pt - " + (PageSize.A4.getWidth() * 0.3527) + "mm x " + (PageSize.A4.getHeight() * 0.3527) + "mm"); } public static void main(String[] args) throws DocumentException, IOException { PDFSchreiben ps = new PDFSchreiben(); ps.createPdf(PDF); ps.printMeasures(); System.out.println("done"); } }