!7

lib 1007364 // Apache PDFBox
lib 1007366 // Apache FontBox
lib 1003619 // Apache Commons Logging

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.pdmodel.font.*;

p {
  // Create a document and add a page to it
  new PDDocument document;
  new PDPage page;
  document.addPage(page);
  
  // Create a new font object selecting one of the PDF base fonts
  PDFont font = PDType1Font.HELVETICA_BOLD;
  
  // Start a new content stream which will "hold" the to be created content
  PDPageContentStream contentStream = new PDPageContentStream(document, page);
  
  // Define a text content stream using the selected font, moving the cursor and drawing the text "Hello World"
  contentStream.beginText();
  contentStream.setFont(font, 12);
  contentStream.moveTextPositionByAmount( 100, 700 );
  contentStream.drawString("Hello World");
  contentStream.endText();
  
  // Make sure that the content stream is closed:
  contentStream.close();
  
  // Save the results and ensure that the document is properly closed:
  File file;
  document.save(file = prepareProgramFile("Hello World.pdf"));
  document.close();
  
  print("Saved: " + f2s(file) + " (" + file.length() + " bytes)");
}