- Font dan Dokumen Sudah dibuat
- Halaman Baru
- Stream Baru
- Tuliskan isi (dengan atau tanpa loop)
- Tutup Steram
Sebagai contoh potongan program berikut ini digunakan untuk membuat halaman pdf :
// Membuat Stream
contentStream = new PDPageContentStream(document, page);
// Membuat Text
contentStream.beginText();
contentStream.setFont( font, 18 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Roti Vanilaku Enak Rasanya" );
contentStream.endText();
contentStream.beginText();
contentStream.moveTextPositionByAmount( 100, 680 );
contentStream.drawString( "Roti Vanilaku Tidak Berwarna Coklat" );
contentStream.endText();
// Menutup Stream
contentStream.close();
Adapun kode lengkap programnya adalah sebagai berikut :
package mencetak2halamanpdf;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
/**
*
* @author Joko Adianto
* Kode program dibawah ini merupakan modfifikasi dari
* kode program pada
* https://pdfbox.apache.org/1.8/cookbook/documentcreation.html
*/
public class Mencetak2HalamanPDF {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// Membuat Dokumen
PDDocument document = new PDDocument();
//Mebuat halaman baru
PDPage page = new PDPage();
//tambahkan halaman kedalam dokumen
document.addPage( page );
// Buat font
PDFont font = PDType1Font.COURIER;
// Buat stream
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// Membuat Text
contentStream.beginText();
contentStream.setFont( font, 18 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Roti Coklatku Enak Rasanya" );
contentStream.endText();
// Menutup stream untuk sebuah halaman
contentStream.close();
//Membuat halaman ke dua
page = new PDPage();
document.addPage( page );
// Menentukan font
font = PDType1Font.TIMES_ITALIC;
// Buat Stram
contentStream = new PDPageContentStream(document, page);
// Membuat Text
contentStream.beginText();
contentStream.setFont( font, 18 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Roti Vanilaku Enak Rasanya" );
contentStream.endText();
contentStream.beginText();
contentStream.moveTextPositionByAmount( 100, 680 );
contentStream.drawString( "Roti Vanilaku Tidak Berwarna Coklat" );
contentStream.endText();
// Menutup Stream
contentStream.close();
// Menutup dokumen
try{
document.save( "rotikucoklatvanila.pdf");
document.close();
}
catch (IOException ioe){
System.out.println(ioe.getMessage());
System.out.println("if it is being used by another process, CLOSE IT");
}
}
}
No comments:
Post a Comment