分享
 
 
 

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();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有