이 기사에서는 Java에서 PDF 파일의 스크린 샷을 구현하는 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
최근에 제작 한 웹 사이트에는 PDF 파일을 업로드하고 PDF 커버 페이지를 표시 한 다음 커버 페이지를 클릭하여 온라인으로 읽어야합니다. 여기에서 PDFrender는 PDF의 스크린 샷을 찍는 데 사용됩니다.
public static boolean createScreenshoot (문자열 소스, 문자열 target) {file file = 새 파일 (소스); if (! file.exists ()) {System.err.println ( "Path [" + Source + "] 해당 PDF 파일이 존재하지 않습니다!"); 거짓을 반환합니다. } try {randomaccessfile raf = new randomaccessfile (파일, "r"); filechannel 채널 = raf.getChannel (); ByteBuffer buf = channel.map (filechannel.mapmode.read_only, 0, channel.size ()); pdffile pdffile = 새로운 pdffile (buf); int num = pdffile.getNumpages (); for (int i = 1; i <num; i ++) {pdfpage page = pdffile.getPage (1); // 기본 Zoom Zoom Rectangle rect에서 문서의 너비와 높이를 가져옵니다. rect = new Rectangle (0, 0, (int) page.getBbox () .getWidth (), (int) page.getBbox (). getheight ()); // 이미지 이미지 생성 이미지 img = page.getImage (rect.width, rect.height, // width & rect, // clip rect null, // imageObserver true의 null, // 흰색 true로 배경을 채우십시오. bufferedImage tag = new bufferedImage (rect.width, rect.height, bufferedImage.type_int_rgb); tag.getGraphics (). DrawImage (img, 0, 0, rect.width, rect.height, null); fileoutputStream out = 새 FileOutputStream (대상+i+"jpg"); jpegimageEncoder encoder = jpegcodec.createjpegencoder (out); encoder.encode (tag); // jpeg encoding.close (); } true를 반환합니다. } catch (예외 e) {e.printstacktrace (); 진실을 반환하십시오. }또한 PDF를 온라인으로 표시 해야하는 경우 응답 헤더를 설정해야합니다.
Response.SetContentType ( "Application/PDF");
첨부 파일 : pdfrender.jar 이 사이트를 다운로드하려면 여기를 클릭하십시오.
더 많은 Java 관련 컨텐츠를 위해이 사이트에 관심이있는 독자는 "Java 이미지 운영 기술 요약", "Java 날짜 및 시간 운영 기술 요약", "Java Operation Dom Node Skills 요약", "Java 파일 및 디렉토리 운영 기술 요약"및 "Java 데이터 구조 및 알고리즘의 자습서"를 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.