import java.io.IOException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
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
*/
public class MencetakPDF {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws
ClassNotFoundException,
InstantiationException,
IllegalAccessException,
SQLException,
IOException {
// TODO code application logic here
int jumlahBaris = 4;
int cacahBaris;
int jarakBaris = 40;
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
Connection con =
DriverManager.getConnection("jdbc:derby://localhost:1527/sample",
"app", "app");
Statement stm = con.createStatement();
ResultSet rst = stm.executeQuery("select * from customer");
PDPageContentStream str;
PDDocument document = new PDDocument();
PDPage pge = new PDPage();
document.addPage(pge);
PDFont font = PDType1Font.COURIER;
str = new PDPageContentStream(document,pge);
cacahBaris = 0;
while (rst.next()){
str.beginText();
str.setFont(font, 18);
str.moveTextPositionByAmount(100, 400-jarakBaris*cacahBaris);
str.drawString(rst.getString(1));
str.endText();
str.beginText();
str.setFont(font, 18);
str.moveTextPositionByAmount(140, 400-jarakBaris*cacahBaris);
str.drawString(rst.getString(2));
str.endText();
str.beginText();
str.setFont(font, 18);
str.moveTextPositionByAmount(180, 400-jarakBaris*cacahBaris);
str.drawString(rst.getString(3));
str.endText();
cacahBaris++;
if (cacahBaris==jumlahBaris){
str.close();
font = PDType1Font.COURIER;
pge = new PDPage();
document.addPage(pge);
str = new PDPageContentStream(document,pge);
cacahBaris = 0;
}
}
str.close();
document.save( "customer.pdf");
document.close();
}
}
No comments:
Post a Comment