java">
public static void ImagesToPdf(){String folderPath = "D:\\Desktop\\xuanku";File folder = new File(folderPath);List<String> images = new ArrayList<>();if (folder.exists() && folder.isDirectory()) {File[] listOfFiles = folder.listFiles();for (File file : listOfFiles) {if (file.isFile() && file.getName().endsWith(".png") || file.getName().endsWith(".PNG")) {images.add(file.getAbsolutePath());}}} else {System.out.println("文件夹不存在或不是一个目录");return;}Collections.sort(images, new Comparator<String>() {@Overridepublic int compare(String s1, String s2) {String num1 = s1.replaceAll("\\D+", "");String num2 = s2.replaceAll("\\D+", "");return Integer.compare(Integer.parseInt(num1), Integer.parseInt(num2));}});com.aspose.pdf.Document pdfDoc = new com.aspose.pdf.Document();for (String imagePath: images) {try {com.aspose.pdf.Page page = pdfDoc.getPages().add();page.setPageSize(com.aspose.pdf.PageSize.getA4().getWidth(), com.aspose.pdf.PageSize.getA4().getHeight());
BufferedImage image = ImageIO.read(new File(imagePath));float imageWidth = image.getWidth();float imageHeight = image.getHeight();float scaleWidth = com.aspose.pdf.PageSize.getA4().getWidth() / imageWidth;float scaleHeight = com.aspose.pdf.PageSize.getA4().getHeight() / imageHeight;float scaleFactor = Math.min(scaleWidth, scaleHeight);com.aspose.pdf.Image pdfImage = new com.aspose.pdf.Image();pdfImage.setFile(imagePath);pdfImage.setImageScale(scaleFactor);page.getParagraphs().add(pdfImage);} catch (Exception e) {e.printStackTrace();}}try {pdfDoc.save("D:\\Desktop\\xuanku\\output2.pdf");System.out.println("PDF文件已保存。");} catch (Exception e) {e.printStackTrace();}
}