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 }