• 关于导出pdf的例子


      1 public static PdfPTable writeTitle(BaseFont bf, PdfPTable table,
      2             HakenDaityouVO bean, String pageNum, String pageCnt) {
      3         // 字体
      4         Font font = new Font(bf, 6);
      5         // タイトル字体
      6         Font fonttitle = new Font(bf, 9);
      7         // ボディタイトル色
      8         Color color_gray = new Color(210, 210, 210);
      9         // ボディテーブル格式
     10         //--------------修正 2009-1-19 start-------------
     11         float[] widths1 = { 0.07f, 0.07f, 0.065f, 0.285f, 0f, 0.285f, 0f, 0.33f,
     12                 0f, 0f, 0.09f, 0.09f, 0.04f, 0.05f, 0.04f, 0.34f, 0f, 0f };//为pdf分配列
     13         // --------------修正 2009-1-19 end---------------
     14         // --------------修正 2009-1-21 start-------------
     15         // タイトルテーブル格式
     16         float[] widthst = { 0.14f, 0.25f,0.015f, 0.508f,0.010f, 0.16f,0.19f,0.502f};
     17         // --------------修正 2009-1-21 end---------------
     18         float[] widths3 = { 0.1f };
     19         // 一行
     20         PdfPTable table_title3 = new PdfPTable(widthst);
     21         PdfPCell cell_title3 = new PdfPCell(table_title3);//这是widths1,这么多列的table
     22         // 間距
     23         cell_title3.setPadding(0);
     24         cell_title3.setColspan(8);
     25 
     26         // 一行 title
     27         cell_title3 = new PdfPCell(table_title3);
     28         // 合併5列
     29         cell_title3.setColspan(8);
     30         cell_title3.setBorder(Rectangle.NO_BORDER);
     31         // 新規セル 内容は派遣先管理台帳
     32         Paragraph paraph_title3 = new Paragraph("派遣先管理台帳", fonttitle);
     33         PdfPCell cell_s_title3 = new PdfPCell(paraph_title3);
     34         cell_s_title3.setColspan(8);
     35         setCellLMT(cell_s_title3);
     36         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     37         cell_s_title3.setPadding((float) 0.6);
     38         // テーブルにセルを添加する
     39         table_title3.addCell(cell_s_title3);
     40         
     41         //------------修正 2009-1-19 start -------------
     42         paraph_title3 = new Paragraph("", font);
     43         cell_s_title3 = new PdfPCell(paraph_title3);
     44         // 合併6列
     45         cell_s_title3.setColspan(8);
     46         cell_s_title3.setPadding((float) 0.6);
     47         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     48         table_title3.addCell(cell_s_title3);
     49         // ------------修正 2009-1-19 end -------------
     50         // ****************派遣元事業主 一行開始****************
     51         // 新規セル 内容は派遣元事業主
     52         paraph_title3 = new Paragraph("派遣元事業主", font);
     53         cell_s_title3 = new PdfPCell(paraph_title3);
     54         cell_s_title3.setColspan(1);
     55         setCellCMT(cell_s_title3);
     56         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     57         // テーブルにセルを添加する
     58         table_title3.addCell(cell_s_title3);
     59 
     60         // 新規セル 内容は株式会社シスプロ
     61         paraph_title3 = new Paragraph("株式会社シスプロ", font);
     62         cell_s_title3 = new PdfPCell(paraph_title3);
     63         cell_s_title3.setColspan(1);
     64         setCellLMT(cell_s_title3);
     65         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     66         // テーブルにセルを添加する
     67         table_title3.addCell(cell_s_title3);
     68         
     69         paraph_title3 = new Paragraph("", font);
     70         cell_s_title3 = new PdfPCell(paraph_title3);
     71         cell_s_title3.setColspan(1);
     72         setCellLMT(cell_s_title3);
     73         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     74         // テーブルにセルを添加する
     75         table_title3.addCell(cell_s_title3);
     76 
     77         // 新規セル 内容は大阪市北区梅田2-4-13阪神産経桜橋ビル6階
     78         paraph_title3 = new Paragraph("大阪市北区梅田2-4-13阪神産経桜橋ビル6階".trim(), font);
     79         cell_s_title3 = new PdfPCell(paraph_title3);
     80         cell_s_title3.setColspan(1);
     81         setCellLMT(cell_s_title3);
     82         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     83         // テーブルにセルを添加する
     84         table_title3.addCell(cell_s_title3);
     85         
     86         paraph_title3 = new Paragraph("", font);
     87         cell_s_title3 = new PdfPCell(paraph_title3);
     88         cell_s_title3.setColspan(1);
     89         setCellLMT(cell_s_title3);
     90         cell_s_title3.setBorder(Rectangle.NO_BORDER);
     91         // テーブルにセルを添加する
     92         table_title3.addCell(cell_s_title3);
     93 
     94         // 新規セル 内容はTEL 06-4796-4180 
     95         paraph_title3 = new Paragraph("TEL: 06-4796-4180", font);
     96         cell_s_title3 = new PdfPCell(paraph_title3);
     97         cell_s_title3.setColspan(1);
     98         setCellLMT(cell_s_title3);
     99         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    100         // テーブルにセルを添加する
    101         table_title3.addCell(cell_s_title3);
    102         
    103         // 新規セル 内容はFAX 06-4796-4188
    104         paraph_title3 = new Paragraph("FAX: 06-4796-4188", font);
    105         cell_s_title3 = new PdfPCell(paraph_title3);
    106         cell_s_title3.setColspan(1);
    107         setCellLMT(cell_s_title3);
    108         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    109         // テーブルにセルを添加する
    110         table_title3.addCell(cell_s_title3);
    111 
    112         // 新規セル 内容は今のうちのページ数 / 全部のページ数
    113         paraph_title3 = new Paragraph(pageNum + "/" + pageCnt, font);
    114         cell_s_title3 = new PdfPCell(paraph_title3);
    115         cell_s_title3.setColspan(1);
    116         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    117         // セル横対斉方式
    118         cell_s_title3.setHorizontalAlignment(Element.ALIGN_RIGHT);
    119         // セル縦対斉方式
    120         cell_s_title3.setVerticalAlignment(Element.ALIGN_MIDDLE);
    121         // 間距    
    122         // テーブルにセルを添加する
    123         table_title3.addCell(cell_s_title3);
    124         // ****************派遣元事業主 一行終了****************
    125 
    126         // ****************派遣元事業所 一行開始****************
    127         // 新規セル 内容は派遣元事業所
    128         paraph_title3 = new Paragraph("派遣元事業所", font);
    129         cell_s_title3 = new PdfPCell(paraph_title3);
    130         cell_s_title3.setColspan(1);
    131         setCellCMT(cell_s_title3);
    132         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    133         // テーブルにセルを添加する
    134         table_title3.addCell(cell_s_title3);
    135 
    136         // 派遣元事業所名
    137         String hmjigyoNam = bean.getHmjigyoNam();
    138         hmjigyoNam = setString(hmjigyoNam);
    139         // 新規セル 内容は 派遣元事業所名
    140         paraph_title3 = new Paragraph(hmjigyoNam, font);
    141         cell_s_title3 = new PdfPCell(paraph_title3);
    142         cell_s_title3.setColspan(1);
    143         setCellLMT(cell_s_title3);
    144         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    145         // テーブルにセルを添加する
    146         table_title3.addCell(cell_s_title3);
    147         
    148         paraph_title3 = new Paragraph("", font);
    149         cell_s_title3 = new PdfPCell(paraph_title3);
    150         cell_s_title3.setColspan(1);
    151         setCellLMT(cell_s_title3);
    152         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    153         // テーブルにセルを添加する
    154         table_title3.addCell(cell_s_title3);
    155 
    156         // 派遣元事業所住所
    157         String hmjigyouAddr = bean.getHmjigyouAddr();
    158         hmjigyouAddr = setString(hmjigyouAddr);
    159         // 新規セル 内容は 派遣元事業所住所
    160         paraph_title3 = new Paragraph(hmjigyouAddr, font);
    161         cell_s_title3 = new PdfPCell(paraph_title3);
    162         cell_s_title3.setColspan(1);
    163         setCellLMT(cell_s_title3);
    164         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    165         // テーブルにセルを添加する
    166         table_title3.addCell(cell_s_title3);
    167         
    168         paraph_title3 = new Paragraph("", font);
    169         cell_s_title3 = new PdfPCell(paraph_title3);
    170         cell_s_title3.setColspan(1);
    171         setCellLMT(cell_s_title3);
    172         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    173         // テーブルにセルを添加する
    174         table_title3.addCell(cell_s_title3);
    175             
    176         // 派遣元事業所TEL
    177         String hmjigyoTel = bean.getHmjigyoTel();
    178         hmjigyoTel = setString(hmjigyoTel);
    179         // 新規セル 内容は 派遣元事業所TEL 派遣元事業所FAX 
    180         paraph_title3 = new Paragraph("TEL: "+hmjigyoTel, font);
    181         cell_s_title3 = new PdfPCell(paraph_title3);
    182         cell_s_title3.setColspan(1);
    183         setCellLMT(cell_s_title3);
    184         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    185         // テーブルにセルを添加する
    186         table_title3.addCell(cell_s_title3);
    187         
    188         // 派遣元事業所FAX
    189         String hmjigyoFax = bean.getHmjigyoFax();
    190         hmjigyoFax = setString(hmjigyoFax);
    191         // 新規セル 内容は 派遣元事業所FAX
    192         paraph_title3 = new Paragraph("FAX: "+hmjigyoFax, font);
    193         cell_s_title3 = new PdfPCell(paraph_title3);
    194         cell_s_title3.setColspan(1);
    195         setCellLMT(cell_s_title3);
    196         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    197         // テーブルにセルを添加する
    198         table_title3.addCell(cell_s_title3);
    199 
    200         // 新規セル 内容は 派遣元事業所TEL FAX
    201         paraph_title3 = new Paragraph("", font);
    202         cell_s_title3 = new PdfPCell(paraph_title3);
    203         // 合併6列
    204         cell_s_title3.setColspan(1);
    205         setCellCMT(cell_s_title3);
    206         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    207         table_title3.addCell(cell_s_title3);
    208         // ****************派遣元事業所 一行終了****************
    209 
    210         // ****************派遣労働者 一行開始****************
    211         paraph_title3 = new Paragraph("",new Font(bf,2));
    212         cell_s_title3 = new PdfPCell(paraph_title3);
    213         // 合併6列
    214         cell_s_title3.setColspan(8);
    215         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    216         cell_s_title3.setPadding((float) 0.55);
    217         table_title3.addCell(cell_s_title3);
    218         
    219         // 新規セル 内容は 派遣労働者
    220         paraph_title3 = new Paragraph("派遣労働者", font);
    221         cell_s_title3 = new PdfPCell(paraph_title3);
    222         cell_s_title3.setColspan(1);
    223         setCellCMT(cell_s_title3);
    224         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    225         table_title3.addCell(cell_s_title3);
    226 
    227         // スタッフ登録店名、スタッフ登録店名がないの場合、空白を表示する
    228         String staffTenNam = bean.getStaffTenNam();
    229         staffTenNam = setString(staffTenNam);
    230         // 新規セル 内容は スタッフ登録店名  
    231         paraph_title3 = new Paragraph(staffTenNam, font);
    232         cell_s_title3 = new PdfPCell(paraph_title3);
    233         cell_s_title3.setColspan(1);
    234         setCellLMT(cell_s_title3);
    235         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    236         table_title3.addCell(cell_s_title3);
    237 
    238         paraph_title3 = new Paragraph("", font);
    239         cell_s_title3 = new PdfPCell(paraph_title3);
    240         cell_s_title3.setColspan(1);
    241         setCellLMT(cell_s_title3);
    242         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    243         // テーブルにセルを添加する
    244         table_title3.addCell(cell_s_title3);
    245 
    246         // スタッフCD ,派遣社員名 派遣社員名がないの場合、空白を表示する
    247         String staffCd = bean.getStaffCd();
    248         staffCd = setString(staffCd);
    249         String staffNam = bean.getStaffNam();
    250         staffNam = setString(staffNam);
    251         // 新規セル 内容は スタッフCD ,派遣社員名
    252         paraph_title3 = new Paragraph(staffCd + "  " + staffNam, font);
    253         cell_s_title3 = new PdfPCell(paraph_title3);
    254         cell_s_title3.setColspan(1);
    255         setCellLMT(cell_s_title3);
    256         cell_s_title3.setHorizontalAlignment(Element.ALIGN_LEFT);
    257         cell_s_title3.setVerticalAlignment(Element.ALIGN_MIDDLE);
    258         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    259         table_title3.addCell(cell_s_title3);
    260         
    261         paraph_title3 = new Paragraph("", font);
    262         cell_s_title3 = new PdfPCell(paraph_title3);
    263         // 合併3列
    264         cell_s_title3.setColspan(4);
    265         setCellCMT(cell_s_title3);
    266         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    267         // テーブルにセルを添加する
    268         table_title3.addCell(cell_s_title3);
    269         
    270         // ------------修正 2009-1-19 start -------------
    271         paraph_title3 = new Paragraph("", font);
    272         cell_s_title3 = new PdfPCell(paraph_title3);
    273         // 合併6列
    274         cell_s_title3.setColspan(8);
    275         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    276         table_title3.addCell(cell_s_title3);
    277         // ------------修正 2009-1-19 end -------------    
    278         // ****************派遣労働者 一行終了****************
    279         table.addCell(cell_title3);
    280 
    281         // ****************スタッフ派遣情報 一行開始****************
    282         // 一行
    283         Paragraph paraph = new Paragraph("", font);
    284         PdfPCell cell = new PdfPCell(paraph);
    285         setCellCMT(cell);
    286         cell.setBackgroundColor(color_gray);
    287         cell_s_title3.setBorder(Rectangle.NO_BORDER);
    288         // テーブルにセルを添加する
    289         table.addCell(cell);
    290 
    291         PdfPTable table_s_title = new PdfPTable(widths1);
    292         cell = new PdfPCell(table_s_title);
    293         // 新規セル 内容は 就業日
    294         Paragraph paraphData_title = new Paragraph("就業日", font);
    295         PdfPCell cellData_s_title = new PdfPCell(paraphData_title);
    296         cellData_s_title.setColspan(1);
    297         setCellCMT(cellData_s_title);
    298         cellData_s_title.setBackgroundColor(color_gray);
    299         // テーブルにセルを添加する
    300         table_s_title.addCell(cellData_s_title);
    301 
    302         PdfPTable table_title_keijo = null;
    303         // 新規セル 内容は 開始/終了時刻
    304         table_title_keijo = new PdfPTable(widths3);
    305         cellData_s_title = new PdfPCell(table_title_keijo);
    306         Paragraph paraphData_title_keijo = new Paragraph("開始", font);
    307         PdfPCell cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    308         // 合併2列
    309         cellData_s_title_keijo.setColspan(2);
    310         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    311         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    312         cellData_s_title_keijo.setBackgroundColor(color_gray);
    313         cellData_s_title_keijo.setPadding(1);
    314         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    315         // テーブルにセルを添加する
    316         table_title_keijo.addCell(cellData_s_title_keijo);
    317 
    318         paraphData_title_keijo = new Paragraph("終了時刻", font);
    319         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    320         // 合併2列
    321         cellData_s_title_keijo.setColspan(2);
    322         setCellCMT(cellData_s_title_keijo);
    323         cellData_s_title_keijo.setBackgroundColor(color_gray);
    324         table_title_keijo.addCell(cellData_s_title_keijo);
    325         // テーブルにセルを添加する
    326         table_s_title.addCell(cellData_s_title);
    327         
    328         // 新規セル 内容は 休憩/残業(分)
    329         table_title_keijo = new PdfPTable(widths3);
    330         cellData_s_title = new PdfPCell(table_title_keijo);
    331         paraphData_title_keijo = new Paragraph("休憩/", font);
    332         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    333         // 合併2列
    334         cellData_s_title_keijo.setColspan(2);
    335         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    336         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    337         cellData_s_title_keijo.setBackgroundColor(color_gray);
    338         cellData_s_title_keijo.setPadding(1);
    339         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    340         // テーブルにセルを添加する
    341         table_title_keijo.addCell(cellData_s_title_keijo);
    342 
    343         paraphData_title_keijo = new Paragraph("残業(分)", font);
    344         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    345         // 合併2列
    346         cellData_s_title_keijo.setColspan(2);
    347         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    348         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_MIDDLE);    
    349         cellData_s_title_keijo.setPadding(1);
    350         cellData_s_title_keijo.disableBorderSide(Rectangle.TOP);
    351         cellData_s_title_keijo.setBackgroundColor(color_gray);
    352         table_title_keijo.addCell(cellData_s_title_keijo);
    353         // テーブルにセルを添加する
    354         table_s_title.addCell(cellData_s_title);
    355 
    356         // 新規セル 内容は 事業所(業務)名称
    357         paraphData_title = new Paragraph("事業所(業務)名称", font);
    358         cellData_s_title = new PdfPCell(paraphData_title);
    359         // 合併2列
    360         cellData_s_title.setColspan(2);
    361         setCellCMT(cellData_s_title);
    362         cellData_s_title.setBackgroundColor(color_gray);
    363         // テーブルにセルを添加する
    364         table_s_title.addCell(cellData_s_title);
    365 
    366         // 新規セル 内容は 事業所住所
    367         paraphData_title = new Paragraph("事業所住所", font);
    368         cellData_s_title = new PdfPCell(paraphData_title);
    369         // 合併2列
    370         cellData_s_title.setColspan(2);
    371         setCellCMT(cellData_s_title);
    372         cellData_s_title.setBackgroundColor(color_gray);
    373         // テーブルにセルを添加する
    374         table_s_title.addCell(cellData_s_title);
    375 
    376         // 新規セル 内容は 業務内容
    377         paraphData_title = new Paragraph("業務内容", font);
    378         cellData_s_title = new PdfPCell(paraphData_title);
    379         // 合併3列
    380         cellData_s_title.setColspan(3);
    381         setCellCMT(cellData_s_title);
    382         cellData_s_title.setBackgroundColor(color_gray);
    383         // テーブルにセルを添加する
    384         table_s_title.addCell(cellData_s_title);
    385 
    386         // 新規セル 内容は 派遣先責任者/連絡先
    387         table_title_keijo = new PdfPTable(widths3);
    388         cellData_s_title = new PdfPCell(table_title_keijo);
    389         paraphData_title_keijo = new Paragraph("派遣先責任者", font);
    390         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    391         // 合併2列
    392         cellData_s_title_keijo.setColspan(2);
    393         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    394         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    395         cellData_s_title_keijo.setBackgroundColor(color_gray);
    396         cellData_s_title_keijo.setPadding(1);
    397         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    398         // テーブルにセルを添加する
    399         table_title_keijo.addCell(cellData_s_title_keijo);
    400 
    401         paraphData_title_keijo = new Paragraph("連絡先", font);
    402         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    403         // 合併2列
    404         cellData_s_title_keijo.setColspan(2);
    405         setCellCMT(cellData_s_title_keijo);
    406         cellData_s_title_keijo.setBackgroundColor(color_gray);
    407         table_title_keijo.addCell(cellData_s_title_keijo);
    408         // テーブルにセルを添加する
    409         table_s_title.addCell(cellData_s_title);
    410 
    411         // 新規セル 内容は 派遣元責任者/連絡先
    412         table_title_keijo = new PdfPTable(widths3);
    413         cellData_s_title = new PdfPCell(table_title_keijo);
    414         paraphData_title_keijo = new Paragraph("派遣元責任者", font);
    415         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    416         // 合併2列
    417         cellData_s_title_keijo.setColspan(2);
    418         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    419         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    420         cellData_s_title_keijo.setBackgroundColor(color_gray);
    421         cellData_s_title_keijo.setPadding(1);
    422         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    423         // テーブルにセルを添加する
    424         table_title_keijo.addCell(cellData_s_title_keijo);
    425 
    426         paraphData_title_keijo = new Paragraph("連絡先", font);
    427         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    428         // 合併2列
    429         cellData_s_title_keijo.setColspan(2);
    430         setCellCMT(cellData_s_title_keijo);
    431         cellData_s_title_keijo.setBackgroundColor(color_gray);
    432         table_title_keijo.addCell(cellData_s_title_keijo);
    433         // テーブルにセルを添加する
    434         table_s_title.addCell(cellData_s_title);
    435 
    436         // 新規セル 内容は  健康/保険
    437         table_title_keijo = new PdfPTable(widths3);
    438         cellData_s_title = new PdfPCell(table_title_keijo);
    439         paraphData_title_keijo = new Paragraph("健康", font);
    440         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    441         // 合併2列
    442         cellData_s_title_keijo.setColspan(2);
    443         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    444         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    445         cellData_s_title_keijo.setBackgroundColor(color_gray);
    446         cellData_s_title_keijo.setPadding(1);
    447         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    448         // テーブルにセルを添加する
    449         table_title_keijo.addCell(cellData_s_title_keijo);
    450 
    451         paraphData_title_keijo = new Paragraph("保険", font);
    452         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    453         // 合併2列
    454         cellData_s_title_keijo.setColspan(2);
    455         setCellCMT(cellData_s_title_keijo);
    456         cellData_s_title_keijo.setBackgroundColor(color_gray);
    457         table_title_keijo.addCell(cellData_s_title_keijo);
    458         // テーブルにセルを添加する
    459         table_s_title.addCell(cellData_s_title);
    460 
    461         // 新規セル 内容は 厚生年/金保険
    462         table_title_keijo = new PdfPTable(widths3);
    463         cellData_s_title = new PdfPCell(table_title_keijo);
    464         paraphData_title_keijo = new Paragraph("厚生年", font);
    465         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    466         // 合併2列
    467         cellData_s_title_keijo.setColspan(2);
    468         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    469         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    470         cellData_s_title_keijo.setBackgroundColor(color_gray);
    471         cellData_s_title_keijo.setPadding(1);
    472         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    473         // テーブルにセルを添加する
    474         table_title_keijo.addCell(cellData_s_title_keijo);
    475 
    476         paraphData_title_keijo = new Paragraph("金保険", font);
    477         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    478         // 合併2列
    479         cellData_s_title_keijo.setColspan(2);
    480         setCellCMT(cellData_s_title_keijo);
    481         cellData_s_title_keijo.setBackgroundColor(color_gray);
    482         table_title_keijo.addCell(cellData_s_title_keijo);
    483         // テーブルにセルを添加する
    484         table_s_title.addCell(cellData_s_title);
    485 
    486         // 新規セル 内容は 雇用/保険
    487         table_title_keijo = new PdfPTable(widths3);
    488         cellData_s_title = new PdfPCell(table_title_keijo);
    489         paraphData_title_keijo = new Paragraph("雇用", font);
    490         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    491         // 合併2列
    492         cellData_s_title_keijo.setColspan(2);
    493         cellData_s_title_keijo.setHorizontalAlignment(Element.ALIGN_CENTER);
    494         cellData_s_title_keijo.setVerticalAlignment(Element.ALIGN_BOTTOM);
    495         cellData_s_title_keijo.setBackgroundColor(color_gray);
    496         cellData_s_title_keijo.setPadding(1);
    497         cellData_s_title_keijo.disableBorderSide(Rectangle.BOTTOM);
    498         // テーブルにセルを添加する
    499         table_title_keijo.addCell(cellData_s_title_keijo);
    500 
    501         paraphData_title_keijo = new Paragraph("保険", font);
    502         cellData_s_title_keijo = new PdfPCell(paraphData_title_keijo);
    503         cellData_s_title_keijo.setColspan(2);
    504         setCellCMT(cellData_s_title_keijo);
    505         cellData_s_title_keijo.setBackgroundColor(color_gray);
    506         table_title_keijo.addCell(cellData_s_title_keijo);
    507         table_s_title.addCell(cellData_s_title);
    508 
    509         // 新規セル 内容は 社会保険手続状況費
    510         paraphData_title = new Paragraph("社会保険手続状況費", font);
    511         cellData_s_title = new PdfPCell(paraphData_title);
    512         cellData_s_title.setColspan(3);
    513         setCellCMT(cellData_s_title);
    514         cellData_s_title.setBackgroundColor(color_gray);
    515         table_s_title.addCell(cellData_s_title);
    516         // ****************スタッフ派遣情報 一行終了****************
    517         table.addCell(cell);
    518         return table;
    519     }

    ps:此方式比较旧了...

      1 private ActionForward FileOutput(ActionMapping mapping, ActionForm form, HttpServletRequest request,
      2             HttpServletResponse response, String ko_cd) throws Exception {
      3         // 年月
      4         String year = (String)request.getParameter("yearNum");
      5         String month = (String)request.getParameter("monthNum");
      6         // 選択したスタッフcd
      7         String resultSelectedStaff = (String)request.getParameter("resultSelectedStaff");
      8         // チェックした派遣社員の配列
      9         List<String> selectedStaffList = new ArrayList<String>();
     10         // 選択した派遣社員をStringからListに変換する処理
     11         String selectedStaff[] = resultSelectedStaff.split(",");
     12         for (String staffCd : selectedStaff) {
     13             selectedStaffList.add(staffCd);
     14         }   
     15         // スタッフCdSql文 格式:'000001','123131'
     16         String staffCdSql = StringUtility.getSqlInStr(selectedStaffList);    
     17         // スタッフデータ
     18         List dataList = new ArrayList();    
     19         // 出力するスタッフデータ
     20         dataList = getData(ko_cd,staffCdSql,year,month);
     21         // ファイル毎ページのタイトルデータリスト
     22         List titleList = getTitleList(dataList);
     23         HakenDaityouVO bean = new HakenDaityouVO();  
     24         // 処理区分
     25         String method = (String) request.getParameter(REQUESTARG_METHOD);
     26         if (METHODNM_PDFOUT.equals(method)) {
     27             // PDF表示処理
     28             // 表示PDFファイルのページの設定
     29             Rectangle rectPageSize = new Rectangle(PageSize.A4);
     30             // 横表示
     31             rectPageSize = rectPageSize.rotate();
     32             Document document = new Document(rectPageSize,10,10,5,5);
     33             ByteArrayOutputStream buffer = new ByteArrayOutputStream();
     34             PdfWriter writer = PdfWriter.getInstance(document,buffer);
     35             // 表示画面で 道具とメニュbars表示しない 
     36             writer.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);        
     37             BaseFont bf = BaseFont.createFont("HeiseiKakuGo-W5","UniJIS-UCS2-HW-H",false);    
     38             response.setContentType("application/pdf");
     39             // ファイルをオープンする
     40             document.open();    
     41             float[] widths = {0f,0.165f};
     42             // Pdfファイルの全部ページ数
     43             String pageCnt = String.valueOf(titleList.size());
     44             // 今のうち PdfファイルのページNo
     45             String pageNum = "";
     46             for(int i =0;i<titleList.size();i++){
     47                 // 当前のページNum
     48                 pageNum = String.valueOf(i+1);
     49                 bean = (HakenDaityouVO)titleList.get(i);
     50                 // ヘッダテーブルを取得する
     51                 PdfPTable titletable = new PdfPTable(widths);
     52                 // テーブルの幅
     53                 titletable.setWidthPercentage(100f);
     54                 // 字間距
     55                 titletable.getDefaultCell().setPadding(0);
     56                 // ページのタイトルテーブル生成
     57                 titletable = PdfOutput.writeTitle(bf,titletable,bean,pageNum,pageCnt);
     58                 document.add(titletable);
     59                 // ボディにデータテーブルを取得する
     60                 PdfPTable table = new PdfPTable(widths);
     61                 // テーブルの幅
     62                 table.setWidthPercentage(100f);
     63                 // 字間距
     64                 table.getDefaultCell().setPadding(0);
     65                 // ページのボディデータテーブルテーブル生成
     66                 table = PdfOutput.writeRecord(bf,table,bean,dataList);
     67                 document.add(table);
     68                 // フッターデータテーブルを取得する
     69                 PdfPTable endTable = new PdfPTable(widths);
     70                 // テーブルの幅
     71                 endTable.setWidthPercentage(100f);
     72                 // 字間距
     73                 endTable.getDefaultCell().setPadding(0);
     74                 // フッダテーブル生成
     75                 endTable = PdfOutput.writeEnd(bf,endTable);
     76                 document.add(endTable);
     77                 // 新ページ生成
     78                 document.newPage();    
     79             }
     80             // ここまで data処理を終わります
     81             // ファイルをクローズする
     82             document.close();
     83             // 画面でPDFファイルを表示
     84             DataOutput output = new DataOutputStream(response.getOutputStream());
     85             byte[] bytes = buffer.toByteArray();
     86             response.setContentLength(bytes.length);
     87             for( int i = 0; i < bytes.length; i++ ) { 
     88                 output.writeByte( bytes[i] ); 
     89             }
     90         } else if (METHODNM_EXCELOUT.equals(method)) {
     91             // エクセルでダウンロード処理
     92             // 項目のパス
     93             String path = request.getSession().getServletContext().getRealPath("");
     94             //String path = "/usr/local/apache-tomcat-5.5.26/webapps/wdos";
     95             // 当前のシステム時間
     96             Date currentTime = new Date();
     97             // 時間格式
     98             SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmssssss");
     99             String dateString = formatter.format(currentTime);
    100             // 生成してみるファイルの名
    101             String fileNam = "hakenDaityou"+dateString ;
    102             //String templeFile = path+"/WEB-INF/src-POO/jp/co/syspro/poo/action/daityoukanri/派遣先管理台帳テンプレート.xls";
    103             String templeFile = path+"/WEB-INF/conf/template.xls";
    104             String outputPath = path+"/p/business/hakenDaityou";
    105 //System.out.println(path + " " + templeFile + " " + outputPath);
    106             // excelファイル生成
    107             ExcelOutput.excelOutput(templeFile,dataList, titleList, outputPath,fileNam);
    108             try{
    109                 // 以前生成した lzh圧縮ファイルを削除
    110                 deleteFile(outputPath, "lzh", dateString);
    111                 // lzh圧縮ファイル生成
    112                 getZipFile(outputPath, fileNam + ".xls", outputPath, fileNam+ ".lzh");
    113                 // 生成した excelファイルを削除
    114                 deleteFile(outputPath, "xls", dateString);
    115             }catch(Exception ex){
    116                  ex.printStackTrace();
    117             }
    118             // lzh圧縮ファイル名
    119             fileNam = fileNam+".lzh";
    120             // lzh圧縮ファイルパス
    121             String filepath = outputPath;
    122             // ファイル名
    123             String myName = fileNam;
    124             // response設定とダウンロード保存のファイル名
    125             response.reset();
    126             response.setContentType("text/html;charset=SHIFT_JIS");
    127             response.setContentType("application/x-msdownload");     
    128             response.setHeader("Content-Disposition", "attachment; filename="" + new String(myName.getBytes("SJIS"),"iso8859-1") + """);      
    129             // 新規ファイルの輸出流、輸入流
    130             OutputStream output = null;
    131             FileInputStream fis = null;
    132             try{
    133               // File
    134               File f = new File(filepath + File.separator + fileNam);
    135               // ファイルの輸出流
    136               output = response.getOutputStream();
    137               // ファイルの輸入流
    138               fis = new FileInputStream(f);
    139               byte[] b = new byte[(int)f.length()];
    140               // 画面で表示する
    141               int i = 0;
    142               while((i = fis.read(b)) > 0){
    143                 output.write(b, 0, i);
    144               }
    145               output.flush();
    146             }
    147             catch(Exception e){
    148               e.printStackTrace();
    149             }
    150             finally{
    151               if(fis != null){
    152                 // ファイルの輸入流を閉める
    153                 fis.close();
    154                 fis = null;
    155               }
    156               if(output != null){
    157                 // ファイルの輸出流を閉める
    158                 output.close();
    159                 output = null;
    160               }
    161             }
    162         } 
    163         return null;
    164     }
  • 相关阅读:
    flask 实现增删改查
    juniper srx系列配置端口映射 转载
    form(form基础、标签渲染、错误显示 重置信息、form属性、局部钩子、全局钩子)
    postfix “ Sender address rejected: not logged in”
    Python 学习博客地址
    分页器(分页器基本操作、点击按钮分页、美化分页器)
    yuan先生博客地址
    Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
    Mysql容器启动失败-解决方案
    Ajax(简介、基础操作、计算器,登录验证)
  • 原文地址:https://www.cnblogs.com/tian-chen/p/4212905.html
Copyright © 2020-2023  润新知