java 生成pdf (页眉页脚 强制分页)
(2012-08-22 16:31:46)
标签:
杂谈 |
分类: java |
主要使用包为itext2.0.8.jar和xhtmlrender.jar
解析下列代码:1."@page {"+
"size:landscape;"+
"margin-top:95pt;"+
"@top-center {content: element(header)}"+
"@bottom-center {content:
element(footer)}"+
"}"+
".header1
{position: running(header);color:#cccccc;font-family:
SimSun;padding-top:25pt;}"+
".footer {
position: running(footer) }"
以上是页眉页脚的css,调用为直接加入<div class='header1' ></div> 即可;
2..pageNext{page-break-after: always;}
这个是分页的css 只要在想分页的地方加上<div class='pageNext'></div>即可;
代码如下:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Types;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import oracle.sql.BLOB;
import org.w3c.dom.Document;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;
import org.xml.sax.SAXException;
public class PrintToPDFPSOBPD {
public
static void main(String[] args) throws Exception
{
generatePDF(105,"http://192.168.1.119:7777/pls/apex/wwv_flow_file_mgr.get_file?p_security_group_id=3844627731404226&p_flow_id=1001&p_fname=Equias-Alliance-Logo-Tag-FINAL.png",
"f:/ccdd.pdf");
}
//5c
accrual 5d
accrual 5a
5b
public
static void generatePDF(Integer propId,String ln_pic_location,
String fileName) throws Exception
{
//连接数据库语句
//
Connection
conn =
DriverManager.getConnection("jdbc:default:connection:");
Connection
conn = DbHelper.getConnection();
StringBuffer
htmlString = new StringBuffer();
Statement
stm = conn.createStatement();
//pre_flag
String
pre_flag = "";
ResultSet rs
= stm.executeQuery("select col_value from report_data where prop_id
= "+propId+" and report_id = 'PSOBPD1' and report_level = 'SN' and
LINE_SEQ =0 and col_name = 'pre_flag'");
while(rs.next()){
pre_flag =
rs.getString("col_value");
}
解析下列代码:1."@page {"+
以上是页眉页脚的css,调用为直接加入<div class='header1' ></div> 即可;
2..pageNext{page-break-after: always;}
这个是分页的css 只要在想分页的地方加上<div class='pageNext'></div>即可;
代码如下:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Types;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationExcep
import oracle.sql.BLOB;
import org.w3c.dom.Document;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;
import org.xml.sax.SAXException;
public class PrintToPDFPSOBPD {
//连接数据库语句
//