[java]자바 pdf 파일 생성 :: 개발/일상_Mr.lee

[java]자바 pdf 파일 생성

Posted by Mr.mandu.
2016. 6. 3. 20:28 개발/java,spring
안녕하세요.
프로젝트를 진행하다 pdf 파일을 생성할 기회가 있어 포스팅하게 되었습니다.
바로바로 소스로 넘어가시죠.

저는 메이븐을 사용한 프로젝트를 진행하고 있기 때문에
먼저 메이븐부터 설정해 보겠습니다.

메이븐 설정
     <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.4.2</version>
            </dependency>

        <dependency>
            <groupId>com.itextpdf.tool</groupId>
            <artifactId>xmlworker</artifactId>
            <version>5.5.7</version>

        </dependency>

@RequestMapping(value = "/techmng/pdfCreate.do")
	public String pdfCreate(HttpServletRequest req, ModelMap modelMap) throws Exception {
		String fileName="";
		String dir="D:/www/kipes/kipes/report/report";
		fileName = "simple_table.pdf";
		
		File directory = new File(dir);
		if(!directory.exists()) directory.mkdirs(); //파일경로 없으면 생성
		
		 Document document = new Document();
	     PdfWriter.getInstance(document, new FileOutputStream(dir+"/"+fileName));
	      
	      document.open();
	      PdfPTable table = new PdfPTable(4);

	      for(int i = 0; i < 16; i++){
	    	  table.addCell("cellNumber:" + i);
	      }
	      document.add(table);
	      document.close();
		return "/techmng/tech02";
	}


위의 소스를 간략하게 설명 드리겠습니다.

먼저 함수안의 3줄은

파일 경로와 파일 이름을 설정해준 것이고요~!


그다음에 

File directory = new File(dir);

if(!directory.exists()) directory.mkdirs(); //파일경로 없으면 생성

요 부분은 말그대로 파일 경로가 없으면 해당 경로에 폴더를 생성한다는 의미 입니다.


그리고 이부분이! pdf 파일 생성법의 핵심인데요 

사용법은 간단합니다.

Dcument 객체를 생서하여 

open() 메소드를 사용하여 pdf파일을 만들기 시작합니다.

결과 모습 첨부하겠습니다.



해당결로에 파일을 만들었습니다.



그리고 해당 파일을 열어보니

for문으로 완성된 내용이 적혀있는걸 확인 할 수 있었습니다.