fbpx
< 戻る
印刷

PDFをPNGに変換

JPedalは、PDFファイルやPDFファイルのディレクトリをPNGに変換するための方法をいくつか提供しています。Javaの例では、ConvertPagesToImagesクラスとPngEncoderOptionsクラスを 使用します。

コマンドラインまたは他の言語からPDFをPNGに変換

				
					java -jar jpedal.jar --convert "inputFileOrDir" "outputDir" png
				
			

便利な静的メソッドでJavaでPDFをPNGに変換

				
					ConvertPagesToImages.writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir" , "png", 1.33f);
				
			

画像出力を制御し、JavaでPDFをPNGに変換

				
					ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
try {
    if (convert.openPDFFile()) {
        for(int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            // 出力を制御するセッター(圧縮を使用した例)
            final PngEncoderOptions options = new PngEncoderOptions();
            options.setCompressionFormat(PngCompressionFormat.NONE);
            JDeli.write(bi, options, out);
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();
				
			

ページ範囲を制御してJavaでPDFをPNGに変換

				
					ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
// setPageRangeは、範囲に'-'または':'を使用して希望のページを選択する機能を提供します
// また、次の範囲に移動する場合は','を使用します
convert.setPageRange(new PageRanges("1-5,8:10,15")); 
// 上記の場合、1~5ページ、8~10ページ、15ページが表示されます
try {
    if (convert.openPDFFile()) {
        convert.getPageRange().forEachRemaining(page -> {
            try {
                final BufferedImage bi = convert.getPageAsImage(page);
                final File out = new File("/path/to/output/" + page + ".png");
                JDeli.write(bi, options, out);  
            } catch (Exception e) {
                e.printStackTrace();
            }
       });  
    }
} catch (PdfException e) {
    e.printStackTrace();
}                  

convert.closePDFfile();
				
			

PDFから出力画像の寸法を調整したPNGサムネイルをJavaで変換

				
					ConvertPagesToImages.
writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir" , "png", new int[]{width,height});
				
			

または

				
					ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
//アスペクト比を維持したままフィット(幅は300、高さは400になります)
convert.setFitToSize(new int[]{300,400}); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

				
			

PDFから拡大縮小を調整したPNGサムネイルをJavaで変換

				
					ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
convert.setPageScaling(1.33f); //100%でAcrobatと同じサイズ
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();
				
			

Javaでパスワードで保護されたPDFファイルをPNGに変換

				
					ConvertPagesToImages convert = new ConvertPagesToImages("/path/file.pdf");
convert.setPassword("password"); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out); 
        }
    }
} catch (PdfException | IOException e) { 
    e.printStackTrace(); 
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();
				
			

アップスケールや、PDFからBMPへの変換をより複雑にコントロールしたい場合、ConvertPagesToHiResImagesクラスには多くの追加オプションがあります。

    MENU
    PAGE TOP