Este artigo descreve o método de implementação de capturas de tela dos arquivos PDF em Java. Compartilhe -o para sua referência, como segue:
Em um site que construí recentemente, é necessário fazer upload de um arquivo PDF, exibir a página de cobertura do PDF e clicar na página de capa para ler on -line. Aqui, o PDFrender é usado para tirar capturas de tela do PDF.
public static boolean createScreenshoot (fonte da string, string alvo) {arquivo file = new File (origem); if (! file.exists ()) {System.err.println ("path [" + fonte + "] o arquivo PDF correspondente não existe!"); retornar falso; } tente {RandomAccessFile RAF = new RandomAccessFile (arquivo, "r"); Canal filechannel = raf.getChannel (); Bytebuffer buf = canal.map (filechannel.mapmode.read_only, 0, canal.size ()); Pdffile pdffile = novo pdffile (buf); int num = pdffile.getNumpages (); for (int i = 1; i <num; i ++) {PDFPage Page = pdffile.getPage (1); // Obtenha a largura e a altura do documento no Rectnângio de Zoom padrão = novo retângulo (0, 0, (int) página.getBbox () .getWidth (), (int) Page.getBbox (). Gethight ()); // Gere a imagem da imagem img = Page.getImage (Rect.Width, Rect.Height, // Width & Rect, // CLIP RECT NULL, // NULL PARA O IMAGEOBSERVER TRUE, // Encha o fundo com BLANCO TRUE // até que o desenho seja feito); Tag bufferiMage = new bufferImage (ret.width, ret.height, bufferImage.type_int_rgb); tag.getgraphics (). drawImage (img, 0, 0, rect.width, ret.height, null); FileOutputStream Out = new FileOutputStream (Target+I+"JPG"); JpegImageEncoder coder = jpegCodec.createjpegencoder (out); coder.encode (tag); // jpeg coding Out.close (); } retornar true; } catch (Exceção e) {e.printStackTrace (); retornar true; }Além disso, se você precisar exibir o PDF online, precisará definir o cabeçalho de resposta
Response.setContentType ("Application/PDF");Anexo: pdfrender.jar clique aqui para baixar este site .
Para mais conteúdo relacionado a Java, os leitores interessados neste site podem visualizar os tópicos: "Resumo das habilidades de operação da imagem Java", "Resumo da Data e Hora de Java e Habilidades de Operação", "Resumo de Java Operação Dom Node Habilidades", "Resumo dos arquivos Java e habilidades de operação de diretório" e "tutoriais da estrutura de dados Java e Algorithm".
Espero que este artigo seja útil para a programação Java de todos.