Javaでは、第三者が提供するパッケージを使用して、PDFを写真に変換できます。以下は、あなた自身のニーズに応じて選択して使用できる一般的に使用されるいくつかのものを紹介します。
1。ICEPDF。有料およびオープンソースのバージョンがあり、いくつかの方法の中で最も推奨されています。変換効果は比較的良好であり、私が持っているファイルの中国人を識別することができます。つまり、変換後、フォント内の文字間の間隔は少し幅が高い場合があります。フォントサポートが充電されるため、変換された写真には公式の透かしがあります。透かしを削除する方法、別の記事を表示できます:透かしを削除するためのICEPDFメソッド
1。ICEPDFパッケージをダウンロードして、プロジェクトにインポートします。 4は次のようにここで使用されます。
2。コードの添付例:
string filepath = "c:/test.pdf"; document document = new Document(); document.setfile(filepath);フロートスケール= 2.5F; //スケーリングフロート回転= 0f; //回転角(int i = 0; i <document.getNumberOfPages(); i ++){bufferedimage image =(bufferedimage)document.getPageImage(i、GraphicsRenderinghints.screen、org.icepdf.core.poundareスケール); renderedimage spandimage = image; try {file file = new file( "c:/iecpdf_" + i + ".png"); Imageio.write(rendimage、 "png"、file); 14} catch(ioexception e){e.printstacktrace(); } image.flush(); } document.dispose();この例では、PDFからPNG形式です。また、12行目と13行をJPGに変更してJPG形式に転送することもできますが、変換効果から、PNGの明確さは比較的高くなります。 12行をJPGに変更するトリックがありますが、PNGを使用する13行、つまり、写真をJPG形式に変換しますが、PNGは明確になります。
2。PDFBOX。コンバージョン効果は問題ありません。これは、私の手のファイルのコンテンツのほとんどを認識でき、それらのいくつかは認識できません。
1. PDFBOXラックパッケージをダウンロードして、プロジェクトをインポートします。そのうちの2つは、次のようにここで使用されます。
2。コードの添付例:
file file = new file( "c://test.pdf"); try {pddocument doc = pddocument.load(file); pdfrenderer renderer = new Pdfrenderer(doc); 5 int pagecount = doc.getnumberofpages(); for(int i = 0; i <pagecount; i ++){bufferedimage image = renderer.renderimagewithdpi(i、296); // bufferedimage image = renderer.renderimage(i、2.5f); Imageio.write(image、 "png"、new file( "c://pdfbox_image.png")); }} catch(ioexception e){e.printstacktrace(); }この例では、RederImageWithDPIの2番目のパラメーターはDPI解像度ユニットであり、要件に応じて調整できます。コードの8行目は、パッケージ内の写真をめくる別の方法を提供し、2番目のパラメーターはスケーリング比です。
3。jpedal。効果は理想的ではなく、中国語のサポートはあまり良くないようです。次のLGPLバージョンはオープンソースバージョンです。
1. JPedalパッケージをダウンロードして、次のようにプロジェクトにインポートします。
2。コードの添付例:
pdfdecoder decode_pdf = new pdfdecoder(true); try {decode_pdf.openpdffile( "c://test.pdf"); // file // decode_pdf.openpdffile( "c:/jpedalpdf.pdf"、 "password"); //暗号化されたファイル// recode_pdf.openpdfarray(bytes); // bytesは、pdf // decode_pdf.openpdffilefromurl( "http://www.mysite.com/jpedalpdf.pdf"、false)を備えたバイト[]配列です。 int start = 1、end = decode_pdf.getpagecount(); for(int i = start; i <end+1; i ++){bufferedimage img = decode_pdf.getPageAsimage(i); try {imageio.write(img、 "png"、new file( "c://jpedal_image.png")); } catch(ioexception e){e.printstacktrace(); }} decode_pdf.closepdffile(); } catch(pdfexception e){e.printstacktrace(); }この例の3〜7行目は、PDFを開くためのいくつかの異なる方法も提供します。これは、ニーズに応じて選択して使用できます。
Javaの写真にPDFを実装する上記の方法は、私があなたと共有したすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。