由于时间紧迫,马上就要期末考试了,还有许多课要复习,希望高手给个思路。JAVA项目设计:1、某图书馆需要制作一个图书标签生成软件。该软件有一个书号输入界面,该界面中要求输入一个书号,册数(整型),连续可以输入多本书的资料,然后按生成键,就可以打印出书号条目。为了方便打印,应该将书号和册数信息放到一个PDF文件中,该文件中每行有3个书号信息,每页有8行。例如书号为12345,册数为5,书号为34567,册数为6,书号为9876,册数为5则输出为
12345   12345  12345
12345  12345  34567
34567 34567   34567
34567  34567   9876
9876   9876    9876
9876
注意上面第一个34567的位置并没有换行,直接跟在上一个书号的后面,只要该行还有空位,就不需要重新换行。
请写出程序,写出实现技术小论文,每人都要做,论文交手写稿或者打印稿,论文要有标题,摘要,关键字,正文。标题可以写使用基于JAVA技术的图书馆书签生成软件设计方案,或者是使用JAVA技术进行PDF文档等题目。

解决方案 »

  1.   

    就是在pdf中打印个表格了,pdf的java包 itext,去google下ok了
      

  2.   

    去看看 jasperreport + ireport , 设计好报表样式和参数,然后让它输出pdf就行了。如果你有心学,2-3天应该可以学到。现成的没有。
      

  3.   

    //帮我看一下怎么样分页???
    //谢谢高手指点。
    import java.awt.*;
    import java.awt.event.*;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.Table;
    import com.lowagie.text.pdf.PdfWriter;
    import com.sun.org.apache.bcel.internal.generic.NEW;
    public class book{
    public static void main(String args[])
    {
    new myfirstfram("this is boo window by java");
    }}
    class myfirstfram  extends Frame implements ActionListener
    {
    Button btn=new Button("导入");
    Button bt=new Button("生成");
    String sm="";
    int cou=0;


    Label lsh=new Label("请输入书号:");
    Label lcs=new Label("输入书的打印次数");
    TextField tsh=new TextField(10);
    TextField tcs=new TextField(10);
    //TextField n=new TextField();
    //TextArea n=new  TextArea();

    myfirstfram(String title)
    { super(title);

      add(lsh);
        add(tsh);
        add(lcs);
        add(tcs);
      
        add(btn);
      //  add(n);

        btn.addActionListener(this);
        tcs.addActionListener(this);
        tsh.addActionListener(this);
       // n.addActionListener(this);
        add(bt);
    // n.setRows(8);
    setLayout(new FlowLayout());
    bt.addActionListener(this);
    addWindowListener(new closeWin());
    setSize(300,200);
    setVisible(true);



    }
    public void actionPerformed(ActionEvent e) {
    // n.setText("");
    // TODO Auto-generated method stub
    if(e.getSource()==btn)
    {

    String s=tsh.getText();
    String str2=tcs.getText();
    int c;
    if(s.length()==4)
    {
    s=s+"  ";
    }
    if(s.length()==5)
    {
    s=s+" ";
    }
    if(s.length()==3)
    {
    s=s+"   ";
    }

     c=Integer.parseInt(str2);
     for(int m1=0;m1<c;m1++)
     {

     if((cou+1)%3==0)
     {
     sm+="   "+s+"\n";
         }
     else
     {
      sm+="   "+s;
     }
     cou++;
    }
     tsh.setText("");
     tcs.setText("");
         





    }
    if(e.getSource()==bt)
    {

           

    // n.setText(sm);
    show();

    System.out.print(sm);
    cou=0;


     Document doc=new Document();         try {         //定义输出位置并把文档对象装入输出对象中            PdfWriter.getInstance(doc, new FileOutputStream("c:/1.pdf"));             //打开文档对象             doc.open();          // 加入文字“Hello World”
                doc.setPageCount(8);
                
                
                doc.add(new Paragraph(sm));
                          //  关闭文档对象,释放资源
                          doc.close();                    } catch (FileNotFoundException g) {            g.printStackTrace();        } catch (DocumentException g) {            g.printStackTrace();        }



    }


    }
    }
    class closeWin extends WindowAdapter
    {
    public  void windowClosing(WindowEvent e)
    {
    Frame frm=(Frame)(e.getSource());
    frm.dispose();
    System.exit(0);

    }
    }