Em Java, você pode usar um pacote fornecido por terceiros para converter PDF em fotos. Aqui estão vários usados comumente que podem ser selecionados e usados de acordo com suas próprias necessidades.
1. ICEPDF. Existem versões pagas e de código aberto, as mais recomendadas entre vários métodos. O efeito de conversão é relativamente bom e pode identificar os chineses no arquivo que tenho. Ou seja, após a conversão, o espaçamento entre os caracteres na fonte pode ser um pouco largo. Como o suporte à fonte é cobrado, as imagens convertidas terão uma marca d'água oficial. Como remover marcas d'água, você pode ver outro artigo: Método ICEPDF para remover marcas d'água
1. Faça o download do pacote ICEPDF e importe -o para o projeto. 4 são usados aqui, como segue:
2. Anexe o exemplo de código:
String filepath = "c: /test.pdf"; Documento documento = new document (); document.setFile (filepath); float scale = 2.5f;//Scaling float rotation = 0f;//Rotation angle for (int i = 0; i < document.getNumberOfPages(); i++) { BufferedImage image = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale); RenderedImage spandImage = imagem; tente {arquivo file = new File ("c:/iecpdf_" + i + ".png"); Imageio.write (rendimage, "png", arquivo); 14} catch (ioexception e) {e.printStackTrace (); } image.flush (); } document.dispose ();No exemplo, está no formato PDF para PNG. Você também pode alterar as linhas 12 e 13 para JPG e transferi -las para o formato JPG, mas a partir do efeito de conversão, a clareza do PNG será relativamente alta. Há um truque para alterar 12 linhas para JPG, mas 13 linhas para usar PNG, ou seja, converter imagens em formato JPG, mas com clareza PNG.
2. PDFBox. O efeito de conversão é bom, o que pode reconhecer a maioria dos conteúdos dos arquivos em minhas mãos, e alguns deles não podem ser reconhecidos.
1. Faça o download do pacote PDFBox Rack e importe o projeto. Dois deles são usados aqui, como segue:
2. Anexe o exemplo de código:
Arquivo de arquivo = novo arquivo ("c: //test.pdf"); tente {pdDocument doc = pddocument.load (arquivo); Renderizador pdfrenderrer = novo pdfrenderer (doc); 5 int pageCount = doc.getNumberOfPages (); for (int i = 0; i <pageCount; i ++) {bufferImage image = renderer.renderImageWithdpi (i, 296); // bufferImage image = renderer.renderImage (i, 2.5f); Imageio.write (imagem, "png", novo arquivo ("c: //pdfbox_image.png")); }} catch (ioexception e) {e.printStackTrace (); }No exemplo, o segundo parâmetro do RederImageWithDPI é a unidade de resolução DPI, que pode ser ajustada de acordo com os requisitos. A oitava linha do código fornece outro método de girar as imagens no pacote, e o segundo parâmetro é a taxa de escala.
3. Jpedal. O efeito não é ideal, e parece que o apoio ao chinês não é muito bom. A versão LGPL a seguir é uma versão de código aberto.
1. Faça o download do pacote jpedal e importe -o para o projeto da seguinte forma:
2. Anexe o exemplo de código:
Pdfdecoder decode_pdf = new pdfdecoder (true); tente {decode_pdf.openpdffile ("c: //test.pdf"); // arquivo // decode_pdf.openpdffile ("c: /jpedalpdf.pdf", "senha"); // arquivo criptografado // decode_pdf.openpdfarray (bytes); // bytes é uma matriz de byte [] com pdf // decode_pdf.openpdffilefromurl ("http://www.mysite.com/jpedalpdf.pdf", false); // decode_pdf.openpdffileFromFromFromEnTream (false); int start = 1, end = decode_pdf.getpageCount (); for (int i = start; i <end+1; i ++) {bufferImage img = decode_pdf.getpageasimage (i); tente {imageio.write (img, "png", novo arquivo ("c: //jpedal_image.png")); } catch (ioexception e) {e.printStackTrace (); }} decode_pdf.closepdffile (); } catch (pdFexception e) {e.printStackTrace (); }As linhas 3-7 do exemplo também fornecem várias maneiras diferentes de abrir PDFs, que podem ser selecionados e usados de acordo com suas necessidades.
O método acima de implementar o PDF para imagens em Java é todo o conteúdo que compartilhei com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.