この記事では、JavaにPDFファイルのスクリーンショットを実装する方法について説明します。次のように、参照のために共有してください。
私が最近構築したウェブサイトでは、PDFファイルをアップロードし、PDFカバーページを表示し、カバーページをクリックしてオンラインで読む必要があります。ここでは、PDFRenderを使用してPDFのスクリーンショットを撮影します。
public static boolean createScreenshoot(string source、string target){file file = new file(source); if(!file.exists()){system.err.println( "path [" + source + "]対応するpdfファイルは存在しません!"); falseを返します。 } try {randomAccessfile raf = new RandomAccessFile(file、 "r"); filechannelチャンネル= raf.getChannel(); bytebuffer buf = channel.map(filechannel.mapmode.read_only、0、channel.size()); pdffile pdffile = new pdffile(buf); int num = pdffile.getnumpages(); for(int i = 1; i <num; i ++){pdfpage page = pdffile.getPage(1); //デフォルトのズームrectangle rect = new Rectangle(0、0、(int)page.getBbox().getWidth()、(int)page.getbbox()。getheigh()); //画像画像を生成するimg = page.getimage(rect.width、rect.height、// width&rect、// clip rect null、// null for imageobserver true、//描画が完了するまで白いtrue // blockを入力します); 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 = new fileoutputStream(ターゲット+i+"jpg"); jpegimageencoder encoder = jpegcodec.createjpegencoder(out); encoder.encode(tag); // jpeg encoding out.close(); } trueを返します。 } catch(Exception e){e.printstacktrace(); trueを返します。 }さらに、PDFをオンラインで表示する必要がある場合は、応答ヘッダーを設定する必要があります
Response.setContentType( "Application/PDF");
添付ファイル: pdfrender.jarこのサイトをダウンロードするには、ここをクリックしてください。
Java関連のコンテンツについては、このサイトに興味のある読者は、「Java画像操作スキルの要約」、「Javaの日付と時刻の操作スキルの概要」、「Java操作DOMノードスキルの概要」、Javaファイルの概要とディレクトリ操作スキルの概要」、「Javaデータ構造の概要」、およびAlgorithmm」を見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。