Android

android에서 png를 pdf로 만들기.

Ohjeonghak 2013. 12. 4. 11:19
반응형

우선 라이브러리 파일을 추가해 줘야 한다. 첨부파일을 받아서 추가해 준다.

 

itext-1.4.8.jar

 

jar file을 추가 하는 방법은 여기서 언급 하지 않고 아래 포스팅을 참고하도록 하자...

http://kuroikuma.tistory.com/64

 

 첨부한 라이브러리는 iText라는 것을 사용했고, 오픈라이센스인듯 하다.

궁금하다면 자세한 사항은 아래의 공식 홈페이지에서 참조하면된다.

아래 홈페이지에서는 Support항목에 예제들도 라이브러리와 함께 제공되고있다.

 http://itextpdf.com/

 

API도 나름 잘 제공 하고 있는것 같다.

http://itextpdf.com/api 

 

 

본론이다.

jar file까지 추가 다 했다면 아래의 코드로 png 파일을 pdf에 추가 할 수 있다.

홈페이지에서 제공하는 예제를 보면 text도 추가 할 수 있다.

	//image to pdf
	private void ImgToPdf() {

		try {
			//count image
			String path = "⁄storage⁄sdcard0⁄사용자경로/";
			File file = new File(path);
			File[] list = file.listFiles();
			int count = 0;
			for (File f : list) {
				String name = f.getName();
				if (name.endsWith(".png"))
					count++;
			}

			String extr = Environment.getExternalStorageDirectory().toString()
					+ File.separator + "사용자경로/";

			Document document = new Document();
			PdfWriter.getInstance(document, new FileOutputStream(extr
					+ "pdf파일.pdf"));
			document.open();

			for (int i = 0; i < count; i++) {
				Image image = Image.getInstance(extr + 생성할파일이름 + i + ".png");

				//크기 조정
				int indentation = 0;
				float scaler = ((document.getPageSize().width()
						- document.leftMargin() - document.rightMargin() - indentation) ⁄ image
						.width()) * 100;
				image.scalePercent(scaler);

                 //png가 pdf 페이지 안에서의 저장 위치 기준점 조정
				image.setAbsolutePosition(
						(document.getPageSize().width() - image.scaledWidth())/2, 
						(document.getPageSize().height() - image.scaledHeight())/2);
				document.add(image);
				document.newPage();
			}

			document.close();
		} catch (Exception e) {

		}

	}

 

반응형