Programming/JAVA

    [Tesseract] 이미지에서 텍스트 추출하기 (OCR)

    OCR 이란? OCR(Optical Character Recognition)은 광학 문자 인식이라는 뜻으로, 텍스트 이미지를 기계가 읽을 수 있는 텍스트 포맷을 변환하는 과정입니다. 테서랙트(Tesseract) 란? 테서랙트(Tesseract)는 OCR 엔진 중 하나로 다양한 운영체제를 위한 광학 문자 인식(OCR) 엔진입니다. 이 소프트웨어는 Apache License, 버전 2.0에 따라 배포되는 무료 소프트웨어이며 Google에서 개발을 후원했습니다. Tesseract 공식 문서 Tesseract documentation Documentation tesseract-ocr.github.io 의존성 추가 net.sourceforge.tess4j tess4j 4.5.2 tessdata 다운로드(LSTM ..

    [HttpClient] 마지막 Redirect URL 구하기

    HttpClient 라이브러리를 이용해 REST API를 호출하거나, HTML 코드를 가져오기도 합니다. 그런데 요청 URL이 리다이렉트(Redirect)가 되어 URL이 바뀌기도 합니다. 이렇게 Redirect 되면서 주소가 바뀌는 URL의 마지막으로 Redirect되는 URL를 구하는 방법을 작성합니다. CloseableHttpClient httpclient = HttpClients.createDefault(); HttpClientContext context = HttpClientContext.create(); HttpGet httpget = new HttpGet(url); CloseableHttpResponse response = httpclient.execute(httpget, context); ..

    [POI] 대용량 엑셀 다운로드 SXSSFWorkbook

    Java에서 엑셀을 다루기 위해서는 POI 라이브러리를 사용합니다. POI에는 HSSF, XSSF, SXSSF 세가지 방식을 지원하는데, 대용량 엑셀 다운로드를 구현하기 위해서는 SXSSF방식으로 구현해야합니다. HSSF : EXCEL 2007 이전 버전(.xls) - 65535 라인까지 사용가능 XSSF : EXCEL 2007 이후 버전(2007포함 .xlsx) - 65535 라인 이상 사용가능 SXSSF : XSSF의 Streaming Version으로 메모리를 적게 사용 - 65535 라인 이상 사용가능 XSSF는 파일을 다운로드 시 메모리에 파일 데이터를 쌓아두었다고 다운로드 받는 방식이면, SXSSF는 임시 파일을 생성해 중간중간 임시파일에 작성하여 메모리를 적게 사용합니다. Dependency..

    [OpenCSV] Output Stream에 OpenCSV 쓰는 방법

    Dependency 추가 com.opencsv opencsv 5.6 Example Code public void downloadCsv(HttpServletResponse response) throws IOException { // 출력 파일명 : 한글 깨짐 방지를 위해 UTF-8 인코딩 String outputFileName = URLEncoder.encode("테스트.csv", "UTF-8"); response.setContentType("text/csv;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=\""+outputFileName +"\""); OutputStream outputStream = null..