달력

7

« 2019/7 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
2014.01.14 09:13

[JAVA] 이메일전송 CODE/JAVA 활용2014.01.14 09:13

import java. util.Properties ;


import javax. mail.Authenticator ;

import javax. mail.Message ;

import javax. mail.MessagingException ;

import javax. mail.PasswordAuthentication ;

import javax. mail.Session ;

import javax. mail.Transport ;

import javax. mail.internet .InternetAddress;

import javax. mail.internet .MimeMessage;

import javax. mail.internet .MimeUtility;


public class Gmail extends Authenticator {

     public static void main(String [] args ) {

     //보내는 서버 주소

        String host = "smtp.gmail.com";

        //메일 제목 설정

        String subject = "메일제목 테스트입니다."

        //받는사람 이메일 주소

        String from = "USERID@gmail.com 주소"

        //보내는사람 이름

        String fromName = "홍길동" ; 

        //받는사람 이메일주소

        String to = "USERID@gmail.com 주소"

        try {

            Properties props = new Properties();

            props.put ("mail.smtp.starttls.enable""true");

            props.put ("mail.transport.protocol""smtp");

            props.put ("mail.smtp.host", host);

            props.setProperty ("mail.smtp.socketFactory.class",  "javax.net.ssl.SSLSocketFactory" );

            props.put ("mail.smtp.port""465");

            props.put ("mail.smtp.user", from);

            props.put ("mail.smtp.auth""true");


            //보내는사람의 STMP 로그인을 통한 Session 정보 취득

            Session mailSession = Session.getInstance (props,

                   new javax.mail. Authenticator() {

                       protected PasswordAuthentication getPasswordAuthentication () {

                           return new PasswordAuthentication("SMTP 계정아이디","SMTP 계정 비밀번호");

                       }

                   });

            Message msg = new MimeMessage(mailSession );

            msg.setFrom (new InternetAddress(from , MimeUtility.encodeText (

                   fromName, "UTF-8""B")));//


            //메일을 동시에 여러명을 보내고 싶을때는 배열로 이메일 주소를 작성한다.

            InternetAddress[] address1 = { new InternetAddress (to) };

            msg.setRecipients (Message. RecipientType.TO , address1);

            msg.setSubject (subject); //제목

            msg.setSentDate (new java.util.Date());//보내는날짜

           

            msg.setContent (getMailString(), "text/html;charset=euc-kr" ); //본문내용 보내기

            Transport.send (msg); //만들어진 이메일 전송실행


        } catch (MessagingException ex) {

         ex.printStackTrace();

        } catch (Exception e) {

         e.printStackTrace();

        }

     }

    

    /**

     * 본문내용 작성

     * @return string 내용

     */

     public static String getMailString(){

        StringBuffer sb = new StringBuffer();

        sb.append ("내용을 입력합니다.");

        sb.append ("내용을 입력합니다.");

        sb.append ("<br/> 내용을 입력합니다.");

        return sb .toString();

     }

}




Posted by 레이칸트


import java.awt.image.BufferedImage;

import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.util.PDFImageWriter;

public class Pdftoimg {

public static void main(String[] args) {

extractPagesAsImage("redpdf.pdf", 300, "");

}


/**

* PDF파일 이미지 출력

* @param sourceFile 대상 PDF파일 경로 및 파일

* @param resolution 출력 해상도

* @param password 문서 비밀번호

* @return

*/

public static boolean extractPagesAsImage(String sourceFile, int resolution, String password) {

boolean result = false;

//출력이미지 확장자

String imageFormat = "gif";

int pdfPageCn = 0;

PDDocument pdfDoc = null;

try {

//PDF파일 정보 취득

pdfDoc = PDDocument.load(sourceFile);

//PDF파일 총페이지 수 취득

pdfPageCn = pdfDoc.getNumberOfPages();

System.out.println("PDF파일 총페이지 수 : " + pdfPageCn);

} catch (IOException ioe) {

System.out.println("PDF 정보취득 실패 : " + ioe.getMessage());

}

PDFImageWriter imageWriter = new PDFImageWriter();

try {

result = imageWriter.writeImage(pdfDoc, 

imageFormat, 

password,

1, //이미지 출력 시작페이지

5, //이미지 출력 종료페이지

//저장파일위치 및 파일명 지정 TEST+페이지 "TEST1.gif" 파일저장

"TEST"

 BufferedImage.TYPE_INT_RGB,

resolution //이미지 품질  300 추천

);

} catch (IOException ioe) {

System.out.println("PDF 이미지저장 실패 : " + ioe.getMessage());

}

return result;

}

}


 & 실행화면


Posted by 레이칸트


import java.io.FileOutputStream;


import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;


/* xlsx 파일 출력시 선언

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

*/

public class XlsxWrite {

static HSSFRow row;

static HSSFCell cell;

/* xlsx 파일 출력시 선언

static XSSFRow row;

static XSSFCell cell;

*/

public static void main(String[] args){

HSSFWorkbook workbook = new HSSFWorkbook();

//Sheet명 설정

HSSFSheet sheet = workbook.createSheet("mySheet");

/* xlsx 파일 출력시 선언

XSSFWorkbook workbook = new XSSFWorkbook();

XSSFSheet sheet = workbook.createSheet("mySheet");

*/



//출력 row 생성

row = sheet.createRow(0);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 11");

row.createCell(1).setCellValue("DATA 12");

row.createCell(2).setCellValue("DATA 13");


//출력 row 생성

row = sheet.createRow(1);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 21");

row.createCell(1).setCellValue("DATA 22");

row.createCell(2).setCellValue("DATA 23");


row = sheet.createRow(2);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 31");

row.createCell(1).setCellValue("DATA 32");

row.createCell(2).setCellValue("DATA 33");


// 출력 파일 위치및 파일명 설정

FileOutputStream outFile;

try {

outFile = new FileOutputStream("XlsWrite.xls");

workbook.write(outFile);

outFile.close();

System.out.println("파일생성 완료");

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트




import java.io.FileInputStream;


import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class XlsxRead {

public static void main(String[] args) {

XSSFRow row;

XSSFCell cell;


try {

FileInputStream inputStream = new FileInputStream("XlsxRead.xlsx");

XSSFWorkbook workbook = new XSSFWorkbook(inputStream);


//sheet수 취득

int sheetCn = workbook.getNumberOfSheets();

System.out.println("sheet수 : " + sheetCn);

for(int cn = 0; cn < sheetCn; cn++){

System.out.println("취득하는 sheet 이름 : " + workbook.getSheetName(cn));

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 시작");

//0번째 sheet 정보 취득

XSSFSheet sheet = workbook.getSheetAt(cn);

//취득된 sheet에서 rows수 취득

int rows = sheet.getPhysicalNumberOfRows();

System.out.println(workbook.getSheetName(cn) + " sheet의 row수 : " + rows);

//취득된 row에서 취득대상 cell수 취득

int cells = sheet.getRow(cn).getPhysicalNumberOfCells(); //

System.out.println(workbook.getSheetName(cn) + " sheet의 row에 취득대상 cell수 : " + cells);

for (int r = 0; r < rows; r++) {

row = sheet.getRow(r); // row 가져오기

if (row != null) {

for (int c = 0; c < cells; c++) {

cell = row.getCell(c);

if (cell != null) {

String value = null;

switch (cell.getCellType()) {

case XSSFCell.CELL_TYPE_FORMULA:

value = cell.getCellFormula();

break;

case XSSFCell.CELL_TYPE_NUMERIC:

value = "" + cell.getNumericCellValue();

break;

case XSSFCell.CELL_TYPE_STRING:

value = "" + cell.getStringCellValue();

break;

case XSSFCell.CELL_TYPE_BLANK:

value = "[null 아닌 공백]";

break;

case XSSFCell.CELL_TYPE_ERROR:

value = "" + cell.getErrorCellValue();

break;

default:

}

System.out.print(value + "\t");

} else {

System.out.print("[null]\t");

}

} // for(c) 문

System.out.print("\n");

}

} // for(r) 문

}

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트




import java.io.FileInputStream;


import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;


public class XlsRead {

public static void main(String[] args) {

HSSFRow row;

HSSFCell cell;


try {

FileInputStream inputStream = new FileInputStream("XlsRead.xls");

POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream);

HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);

//sheet수 취득

int sheetCn = workbook.getNumberOfSheets();

System.out.println("sheet수 : " + sheetCn);

for(int cn = 0; cn < sheetCn; cn++){

System.out.println("취득하는 sheet 이름 : " + workbook.getSheetName(cn));

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 시작");

//cn번째 sheet 정보 취득

HSSFSheet sheet = workbook.getSheetAt(cn);

//취득된 sheet에서 rows수 취득

int rows = sheet.getPhysicalNumberOfRows();

System.out.println(workbook.getSheetName(cn) + " sheet의 row수 : " + rows);

//취득된 row에서 취득대상 cell수 취득

int cells = sheet.getRow(cn).getPhysicalNumberOfCells(); //

System.out.println(workbook.getSheetName(cn) + " sheet의 row에 취득대상 cell수 : " + cells);

for (int r = 0; r < rows; r++) {

row = sheet.getRow(r);

if (row != null) {

for (int c = 0; c < cells; c++) {

cell = row.getCell(c);

if (cell != null) {

String value = null;

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_FORMULA:

value = cell.getCellFormula();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

value = "" + cell.getNumericCellValue();

break;

case HSSFCell.CELL_TYPE_STRING:

value = "" + cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BLANK:

value = "" + cell.getBooleanCellValue();

break;

case HSSFCell.CELL_TYPE_ERROR:

value = "" + cell.getErrorCellValue();

break;

default:

value = "[type?]";

break;

}

System.out.print(value + "\t");

} else {

System.out.print("[null]\t");

} // if

} // for(c)

System.out.print("\n");

} // if

} // for(r)

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 종료");

}// for(cn)

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트

자바를 이용한 이미지로 바코드 출력 소스로, 사용자가 원하는 이미지 TYPE과 SIZE를 정의 출력하여, PDF출력이나 엑셀출력시 클래스를 불러와 라벨작업에 활용가능하다.


import java.io.File;

import java.io.FileOutputStream;


import com.google.zxing.BarcodeFormat;

import com.google.zxing.client.j2se.MatrixToImageWriter;

import com.google.zxing.common.BitMatrix;

//import com.google.zxing.oned.Code39Writer;

import com.google.zxing.qrcode.QRCodeWriter;


public class Qrcode {

public static void main(String[] args) {

QRCodeWriter q = new QRCodeWriter();

//Code39Writer q = new Code39Writer();

try {

String text = "http://neosm.com";

text = new String(text.getBytes("UTF-8"), "ISO-8859-1");

BitMatrix bitMatrix = q.encode(text, BarcodeFormat.QR_CODE,200,200);

MatrixToImageWriter.writeToStream(bitMatrix, "png",

new FileOutputStream(new File("neosm.png")));

} catch (Exception e) {

e.printStackTrace();

}

}

}



 ::: 필요 JAR 파일


javase.jar

zxing-core-2.2.jar



 ::: 실행결과

 




Posted by 레이칸트