Cet article décrit la méthode d'implémentation de captures d'écran des fichiers PDF dans Java. Partagez-le pour votre référence, comme suit:
Dans un site Web que j'ai récemment construit, il est nécessaire de télécharger un fichier PDF, d'afficher la page de couverture PDF, puis de cliquer sur la page de couverture pour lire en ligne. Ici, Pdfrender est utilisé pour prendre des captures d'écran de PDF.
public static boolean createScreenshoot (String Source, String Target) {file file = new File (source); if (! file.exists ()) {System.err.println ("path [" + source + "] Le fichier PDF correspondant n'existe pas!"); retourne false; } try {randomaccessfile raf = new randomaccessfile (fichier, "r"); FileChannel Channel = raf.getChannel (); ByteBuffer buf = canal.map (filechannel.mapMode.read_only, 0, canal.size ()); Pdffile pdffile = new pdffile (buf); int num = pdffile.getNumpages (); pour (int i = 1; i <num; i ++) {pdfpage page = pdffile.getPage (1); // obtient la largeur et la hauteur du DOC au zoom par défaut Rectangle Rect = new Rectangle (0, 0, (int) page.getBbox () .getWidth (), (int) page.getBbox (). Getheight ()); // Générez l'image Image img = page.getImage (rect.width, rect.height, // width & rect, // clip rect null, // null for the ImageObserver true, // remplissage d'arrière-plan avec blanc true // bloc jusqu'à ce que le dessin soit terminé); 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 (Target + I + "JPG"); JpegImageEncoder Encoder = jPegCodec.CreateJPegenCoder (Out); Encoder.encode (TAG); // JPEG Encoding Out.Close (); } return true; } catch (exception e) {e.printStackTrace (); Retour Vrai; }De plus, si vous devez afficher le PDF en ligne, vous devez définir l'en-tête de réponse
réponse.setContentType ("application / pdf");Pièce jointe: pdfrender.jar cliquez ici pour télécharger ce site .
Pour plus de contenu lié à Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Résumé des compétences de l'opération d'image Java", "Résumé des compétences de date et d'opération de temps Java", "Résumé des compétences de nœuds de Dom Java", "Résumé du fichier Java et des compétences de fonctionnement des répertoires" et "Tutorials de la structure de données et de l'algorithme Java".
J'espère que cet article sera utile à la programmation Java de tous.