lotus中的视图文档输出ViewToPDF

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

用到了iText库,可以下载,

import lotus.domino.*;

import java.io.*;

import com.lowagie.text.*;

import com.lowagie.text.pdf.PdfWriter;

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import com.lowagie.text.pdf.PdfWriter;

public class ViewToPDF extends NotesThread{

public static void main(String args[]){

ViewToPDF t = new ViewToPDF();

t.start();

}

/** 退出程序 */

private void exitForm(java.awt.event.WindowEvent evt) {

System.exit(0);

}

/* 按钮*/

private void buttonAction(java.awt.event.ActionEvent evt, Frame frame, String serverName, String dbName, String viewName, String pageOrient){

try{

NotesThread.sinitThread();

Session sess = NotesFactory.createSession();

System.out.println("访问数据库 " + dbName + " on Server: " + serverName);

Database db = sess.getDatabase(serverName, dbName);

DocumentCollection collection = db.getAllDocuments();

System.out.println("视图: " + viewName + " in Database: " + dbName);

View view = db.getView(viewName);

frame.dispose();

FileDialog fd = new FileDialog(new Frame(),"Save As..",FileDialog.SAVE);

fd.show();

String path = fd.getDirectory() + fd.getFile();

com.lowagie.text.Document pdfDoc;

if(pageOrient.equals("Landscape")){

pdfDoc = new com.lowagie.text.Document(PageSize.A4.rotate());

}else{

pdfDoc = new com.lowagie.text.Document();

}

PdfWriter.getInstance(pdfDoc, new FileOutputStream(path));

System.out.println("Creating document: " + path);

pdfDoc.open();

Table aTable = new Table(view.getColumnCount());

aTable.setBorderWidth(1);

aTable.setBorderColor(new Color(0,0,0));

aTable.setAutoFillEmptyCells(true);

com.lowagie.text.Font font = new com.lowagie.text.Font(2, 9, com.lowagie.text.Font.NORMAL);

Cell cell = new Cell("header");

Vector columnNames = view.getColumnNames();

for (int k=0; k<columnNames.size(); k++) {

cell = new Cell((String)columnNames.elementAt(k));

cell.setBackgroundColor(new Color(192,192,192));

aTable.addCell(cell);

}

ViewEntryCollection vec = view.getAllEntries();

ViewEntry tmpEntry;

System.out.println("Documents to Process: " + vec.getCount());

ViewEntry entry = vec.getFirstEntry();

while (entry != null) {

Vector v = entry.getColumnValues();

for (int i=0; i<v.size(); i++) {

String vName = v.elementAt(i).toString();

aTable.addCell(vName);

}

tmpEntry = vec.getNextEntry();

entry.recycle();

entry = tmpEntry;

tmpEntry = null;

}

pdfDoc.add(aTable);

pdfDoc.close();

/* 对象释放 */

vec.recycle();

view.recycle();

db.recycle();

NotesThread.stermThread();

System.runFinalization();

System.gc();

System.out.println("文档: " + path + " 产生!");

System.exit(0);

}catch(Exception e){

System.out.println("程序遇到错误:");

e.printStackTrace();

System.exit(0);

}

}

public void runNotes(){

try{

final Frame frame = new Frame("User Input:");

frame.setSize(300, 400);

Color color = new Color(100,100,255);

frame.setBackground(color);

frame.setLayout(new java.awt.GridLayout(11, 1));

frame.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

Label label1 = new java.awt.Label();

label1.setFont(new java.awt.Font("Arial", 1, 14));

label1.setText("Server Name:");

Label label2 = new java.awt.Label();

label2.setFont(new java.awt.Font("Arial", 1, 14));

label2.setText("Database Name:");

Label label3 = new java.awt.Label();

label3.setFont(new java.awt.Font("Arial", 1, 14));

label3.setText("View Name:");

Label label4 = new java.awt.Label();

label4.setFont(new java.awt.Font("Arial", 1, 14));

label4.setText("Page Orientation:");

Label label5 = new java.awt.Label();

label5.setFont(new java.awt.Font("Arial", 1, 9));

label5.setText("Developed by: ");

label5.setBackground(new Color(255, 255, 255));

final TextField textField1 = new java.awt.TextField();

final TextField textField2 = new java.awt.TextField();

final TextField textField3 = new java.awt.TextField();

final Choice choice1 = new java.awt.Choice();

choice1.add("Landscape");

choice1.add("Portrait");

Button button1 = new java.awt.Button();

button1.setFont(new java.awt.Font("Arial", 1, 14));

button1.setLabel("OK");

button1.setBackground(new Color(0, 128, 0));

Button button2 = new java.awt.Button();

button2.setFont(new java.awt.Font("Arial", 1, 14));

button2.setLabel("Cancel");

button2.setBackground(new Color(255, 128, 128));

button1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

String serverName= textField1.getText();

String dbName = textField2.getText();

String viewName = textField3.getText();

String pageOrient = choice1.getSelectedItem();

buttonAction(evt, frame, serverName, dbName, viewName, pageOrient);

}

});

button2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

System.exit(0);

}

});

frame.add(label1);

frame.add(textField1);

frame.add(label2);

frame.add(textField2);

frame.add(label3);

frame.add(textField3);

frame.add(label4);

frame.add(choice1);

frame.add(button1);

frame.add(button2);

frame.add(label5);

frame.pack();

frame.show();

}catch (Exception e){

e.printStackTrace();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航