ho questa classe!
Codice: Seleziona tutto
package it.coopitalia.vivido.coopstream.utils;
import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.StringTokenizer;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.OracleResultSet;
import com.ibm.ws.rsadapter.jdbc.WSJdbcConnection;
import com.ibm.ws.rsadapter.jdbc.WSJdbcUtil;
import it.coopitalia.vivido.coopstream.search.CSObject;
import org.apache.log4j.Logger;
import org.faceless.pdf2.*;
import java.awt.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.PageRanges;
import javax.print.*;
public class CSPrint {
private CSObject obj;
Logger logger = Logger.getLogger(CSPrint.class.getName());
private Connection conn = null;
private PreparedStatement stmt = null;
private OracleResultSet rs = null;
private OracleConnection oracleConnection = null;
private Context initCtx;
private DataSource ds = null;
public CSPrint(CSObject obj)
{
this.obj = obj;
}
public boolean print()
{
int iProgId = obj.getIProgressivo();
try{
initCtx = new InitialContext();
ds = (DataSource)initCtx.lookup("java:comp/env/dsJNDI");
conn = ds.getConnection();
oracleConnection = (OracleConnection)WSJdbcUtil.getNativeConnection((WSJdbcConnection) conn);
oracleConnection.setAutoCommit(true);
String sSql = "SELECT Fle_Doc_Orgn, Nom_Doc_Orgn"+
" FROM coopstr.tstr_doc "+
"WHERE num_prg_doc = ?";
stmt = oracleConnection.prepareStatement(sSql);
stmt.setInt(1, iProgId);
rs = (OracleResultSet)stmt.executeQuery();
String file_name = null;
String file_ext = null;
if (rs.next())
{
file_name = rs.getString("Nom_Doc_Orgn");
file_ext = file_name.substring(file_name.lastIndexOf(".")+1,file_name.length());
if (file_ext.compareToIgnoreCase("pdf")==0)
{
Blob bBlob = rs.getBlob("Fle_Doc_Orgn");
InputStream is = bBlob.getBinaryStream();
PDF pdf = new PDF(new PDFReader(is));
PrintRequestAttributeSet atts = new HashPrintRequestAttributeSet();
PDFParser parser = new PDFParser(pdf);
printToDefaultPrinter(parser,atts);
is.close();
return true;
}
else
return false;
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try {
if (stmt !=null)
{
stmt.close();
stmt = null;
}
if (rs!=null)
{
rs.close();
rs = null;
}
if (conn !=null)
{
conn.close();
conn=null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return false;
}
Mi date una mano?