当前位置: 首页 > news >正文

网站建设与经营招聘系统推广哪家好

网站建设与经营,招聘系统推广哪家好,网站视频弹窗代码,购物网站开发jdk该方法可以选择多个图片是否合并为一个pdf输出&#xff0c;也可以选择图片为横向或者纵向输出&#xff0c;也可以选择pdf页面为A3或者A4 第一步 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version…

该方法可以选择多个图片是否合并为一个pdf输出,也可以选择图片为横向或者纵向输出,也可以选择pdf页面为A3或者A4 

第一步

 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version></dependency>

第二步

package com.example.demo.file.pdf;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class ImageConditionToPdfConverter {private static final List<String> SUPPORTED_IMAGE_SUFFIXES = Arrays.asList("png", "jpg", "jpeg", "gif", "bmp", "tiff");public static void main(String[] args) {String imagesFolder = "C:\\Users\\EDY\\Desktop\\测试图片"; // 图片文件夹路径String outputFolder = "C:\\Users\\EDY\\Desktop\\output"; // 输出PDF文件夹路径boolean mergePdf = true; // 是否将所有图片合并到同一个PDF文件中boolean landscape = false; // 图片布局方向,横向为true,纵向为falseString pageSize = "A4"; // 页面大小,可以是"A3"或"A4"List<File> imageFiles = getImageFiles(imagesFolder, SUPPORTED_IMAGE_SUFFIXES);ensureOutputDirectoryExists(outputFolder); // 确保输出目录存在try {if (mergePdf) {// 如果合并到同一个PDF,创建一个文档并添加所有页面PDDocument document = new PDDocument();for (File imageFile : imageFiles) {PDPage page = createPage(pageSize, landscape);document.addPage(page);PDImageXObject pdImage = PDImageXObject.createFromFile(String.valueOf(imageFile), document);PDPageContentStream contentStream = new PDPageContentStream(document, page);drawImage(contentStream, pdImage, page.getMediaBox(), landscape);contentStream.close();}document.save(outputFolder + "\\output.pdf");document.close();} else {// 如果不合并到同一个PDF,为每个图片创建一个文档for (File imageFile : imageFiles) {PDDocument document = new PDDocument();PDPage page = createPage(pageSize, landscape);document.addPage(page);PDImageXObject pdImage = PDImageXObject.createFromFile(String.valueOf(imageFile), document);PDPageContentStream contentStream = new PDPageContentStream(document, page);drawImage(contentStream, pdImage, page.getMediaBox(), landscape);contentStream.close();document.save(outputFolder + "\\output_" + imageFiles.indexOf(imageFile) + ".pdf");document.close();}}System.out.println("PDF created successfully!");} catch (IOException e) {e.printStackTrace();}}private static PDPage createPage(String pageSize, boolean landscape) {PDRectangle mediaBox = "A3".equalsIgnoreCase(pageSize) ? PDRectangle.A3 : PDRectangle.A4;PDPage page = new PDPage(mediaBox);if (landscape) {page.setRotation(90);}return page;}private static void drawImage(PDPageContentStream contentStream, PDImageXObject pdImage, PDRectangle mediaBox, boolean landscape) throws IOException {float imageWidth = pdImage.getWidth();float imageHeight = pdImage.getHeight();float pageWidth = mediaBox.getWidth();float pageHeight = mediaBox.getHeight();if (landscape) {float temp = pageWidth;pageWidth = pageHeight;pageHeight = temp;}float scale = Math.min(pageWidth / imageWidth, pageHeight / imageHeight);imageWidth *= scale;imageHeight *= scale;// Center the image on the pagefloat x = (pageWidth - imageWidth) / 2;float y = (pageHeight - imageHeight) / 2;contentStream.drawImage(pdImage, x, y, imageWidth, imageHeight);}private static List<File> getImageFiles(String folderPath, List<String> supportedSuffixes) {File folder = new File(folderPath);File[] files = folder.listFiles();if (files != null) {List<File> imageFiles = new ArrayList<>();for (File file : files) {if (file.isFile() && isImage(file, supportedSuffixes)) {imageFiles.add(file);}}return imageFiles;}return new ArrayList<>();}private static boolean isImage(File file, List<String> supportedSuffixes) {String fileName = file.getName().toLowerCase();return supportedSuffixes.stream().anyMatch(fileName::endsWith);}private static void ensureOutputDirectoryExists(String directoryPath) {File directory = new File(directoryPath);if (!directory.exists()) {directory.mkdirs();}}
}

http://www.yayakq.cn/news/474558/

相关文章:

  • 设计工作室与网站建设工作室奢侈品手表网站
  • dede安装好后是模板怎么变成做好的网站敏捷开发平台
  • 本地佛山顺德网站建设宝塔搭建网站
  • 大网站服务器维护费用重庆市施工安全管理网
  • 苏省住房和城乡建设厅网站首页wordpress get the id
  • 网站策划书范文模板优秀网页设计618
  • 郑州汉狮做网站的大公司怎么删除创建的wordpress
  • 网站开发深app 网站 区别
  • 深圳建网站好的公司企业建立网站的目的
  • js 曲线 网站聊城网站建设信息
  • 电子商务网站建设渠道望牛墩镇仿做网站
  • 精通网站建设 pdf智能经济高峰论坛
  • 中山市城市建设档案馆网站微企点做的网站怎么去底下的
  • 做游戏动画外包网站广西网络干部学院
  • 网站标题组合中时讯通信建设有限公司网站
  • 网站建设与运营及营销服务做网站用微软雅黑侵权吗
  • wordpress站点浏览圣诞节网站模板
  • 网站宣传与推广学校官方网站的建设目标是什么
  • 承包网站建设的公司怎样在自己的网站上家程序
  • 工作室网页seoul是哪个城市
  • 邻水建设局网站网站建设找至尚网络
  • 怎样做动漫照片下载网站深圳市专业制作网站公司吗
  • 杭州网站设计渠道萧山网站建设xssem
  • 奥远网站建设流程湖北省发布最新通告
  • 使用iframe做网站潮州网站制作
  • 怎么创建网站详细流程没有网站可以做京东联盟吗
  • 宝宝投票网站怎么做福建省住房和城乡建设厅的网站
  • 东莞市建网站电商运营工资大概多少
  • 有了源码可以做网站吗世界500强中国企业
  • 网站开发与运维面试问题东莞建筑公司都有哪些