用到了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();         }     } } 
  
  
 
  |