Programming/JAVA
색상 거리 구하기(feat. CIEDE2000)
public class CIEDE2000ColorDistance { public static void main(String[] args) { // 예시 색상 A와 B double[] colorA = { 53, 80, 678 }; // L*, a*, b* values for color A double[] colorB = { 86, -40, -22 }; // L*, a*, b* values for color B // CIEDE2000 거리 계산 double distance = calculateDeltaE(colorA, colorB); System.out.println("CIEDE2000 거리: " + distance); } /** * lab1과 lab2 색상 거리 비교 * @param lab1 * @para..
[pdfbox] PDF 파일을 Image파일로 변환하는 방법
1. Dependency 추가 org.apache.pdfbox pdfbox 2.0.28 2. Sample Code import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; public class PdfToImage { public static void main(String[] args) { // PDF 문서 객체..
JAVA SHA-256 암호화 방법
import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class SHA256Util { public static String SHA256Encrypt(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException{ StringBuffer hexString = new StringBuffer(); MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest..
[Apache VFS] SFTP 파일 업로드
공식 Document : Commons Virtual File System Apache Commons VFS – Commons Virtual File System Commons Virtual File System Commons VFS provides a single API for accessing various different file systems. It presents a uniform view of the files from various different sources, such as the files on local disk, on an HTTP server, or inside a Zip archive. commons.apache.org 1. Dependency 추가 org.apache.com..
[openhtmltopdf] HTML을 PDF로 변환하기
공식 GitHub URL : https://github.com/danfickle/openhtmltopdf 1. Dependency 추가 org.jsoup jsoup 1.13.1 com.openhtmltopdf openhtmltopdf-core 1.0.6 com.openhtmltopdf openhtmltopdf-pdfbox 1.0.6 2. Sample code // html 파일 ClassPathResource resource = new ClassPathResource("pdf/industry-application.html"); String outputFile = "output.pdf"; // HTML 읽기 String html = new String(Files.readAllBytes(Paths.get(r..
[Apache Tika] 문서파일에서 텍스트 추출하기
아파치 티카(Apach Tika) 란? 티카(Tika)는 아파치 소프트웨어 재단에서 운영하는 콘텐츠 감지 및 분석 프레임워크입니다. 다양한 유형의 파일(pdf, zip, ppt, csv, Image format, Vidio foramts... 등)에서 메타데이터와 텍스트를 감지하고 추출할 수 있습니다. Maven Dependency 추가 org.apache.tika tika-core 2.6.0 org.apache.tika tika-parsers-standard-package 2.6.0 Example Code public void parse(File file) throws Exception { BodyContentHandler handler = new BodyContentHandler(-1); AutoDe..
애니메이션 이미지인지 아닌지 체크하는 방법(Check image animated or not in JAVA)
private boolean isAnimatedImage(String imageFilePath) throws IOException { File f = new File(imageFilePath); ImageInputStream iis = ImageIO.createImageInputStream(f); ImageReader is = ImageIO.getImageReadersBySuffix("GIF").next(); is.setInput(iis); int imageCnt = is.getNumImages(true); // imageCnt가 0보다 크다면 애니메이션 이미지 if(imageCnt > 0) return true; else return false; } 파일이 외부 이미지 링크(URL)라면 private ..
[BufferedImage] 이미지 이진화(Image Binarize)
private void binarize(BufferedImage image) { for (int i = 0; i 127 ? Color.white.getRGB() : Color.black.getRGB()); } private int gamma(int rgb) { return (red(rgb) + green(rgb) + blue(rgb)) / 3; } private int red(int rgb) { return (rgb >> 16) & 0x000000FF; } private int green(int rg..