首页 > 编程语言 >javafx中PDF文件的展示(转图片)

javafx中PDF文件的展示(转图片)

时间:2024-01-02 17:37:01浏览次数:40  
标签:展示 javafx bufferedImage new imageView pdf PDF document PDFRenderer

try {
    // 加载pdf文件
    PDDocument document = PDDocument.load(file);
    //将pdf转换成图片
    PDFRenderer renderer = new PDFRenderer(document);
    //获取pdf的页数
    int numberOfPages = document.getNumberOfPages();
    PDFRenderer pdfRenderer = new PDFRenderer(document);
    //展示图片的容器
    VBox root = new VBox();
    //间距为0,没用,是生成pdf的时候底部不够一行
    root.setSpacing(0);
    //根据页数循环将pdf转化的图片添加到容器当中
    for (int i = 0; i < numberOfPages; i++) {
        //获取的图片为awt容器的图片
        BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(i, 92); // DPI渲染图像
        WritableImage fxImage = SwingFXUtils.toFXImage(bufferedImage, null);
        ImageView imageView = new ImageView(fxImage);
        // 缩放倍数
        double scaleFactor = 1;
        imageView.setFitWidth(bufferedImage.getWidth() * scaleFactor);
        imageView.setFitHeight(bufferedImage.getHeight() * scaleFactor);
        // 保持图片的宽高比
        imageView.setPreserveRatio(true);
        // 平滑缩放
        imageView.setSmooth(true);
        root.getChildren().add(imageView);
    }
    // 定位到页面顶部
    double vvalue = 0.0; // 这将使滚动条位于顶部
    selectList.setVvalue(vvalue);
    //将容器加载到滚动页面中
    selectList.setContent(root);
    // 关闭文档,释放资源
    document.close();
}
catch (IOException e) {
    logger.error(BusinessException.getExceptionToString(e));
}

标签:展示,javafx,bufferedImage,new,imageView,pdf,PDF,document,PDFRenderer
From: https://blog.51cto.com/u_16435501/9071467

相关文章

  • PDF文档转换工具箱流量主小程序开发
    PDF转换小助手,不仅是文件格式转换的利器,更是一位得力的助手。它精通PDF与各类文档间的自由转换,如Word、Excel、PowerPoint等。转换选项丰富多样,满足您对文件保护、页面设置、图像品质等细致要求。处理大量文件?没问题!它支持批量转换,轻松应对。除了转换,PDF转换小助手还具备强大的编辑......
  • javaFx怎么把文本框里面的东西清空
    JavaFX清空文本框中的内容在JavaFX中,我们可以使用以下步骤来清空文本框中的内容:步骤1:创建文本框和按钮首先,我们需要在JavaFX应用程序中创建一个文本框和一个按钮。文本框用于输入文本,按钮用于触发清空操作。TextFieldtextField=newTextField();Buttonbutton=newButton......
  • javaFX 弹出提示确认
    JavaFX弹出提示确认引言在JavaFX中,弹出提示确认框是一种常见的用户交互需求。当我们需要用户确认一个操作或者提醒用户某个状态时,弹出提示确认框是很有用的。本文将介绍如何使用JavaFX来实现一个弹出提示确认框,并提供相应的代码示例。JavaFX弹出提示确认框的实现JavaFX中提供......
  • 【专题】2023年中国消费者洞察白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33375原文出处:拓端数据部落公众号在疫情后的时代,中国的消费市场正在逐步复苏。政策和社会共同努力,全面提振消费者的信心。与此同时,供给侧正在采用新的内容营销模式,品牌、电商直播和信息平台注重科普专业知识,将品质和创新作为核心竞争力。居民消费......
  • Spring Cloud工程项目管理系统源码,支持多端展示
    智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合,为工程项目管理提供先进技术手段,构建工地现场智能监控和控制体系,弥补传统方法在监管中的缺陷,最线实现项目对人、机、料、法、环的全方位实时监控。支持多端展示(大屏、PC端、手机端、平板端)。......
  • Go 语言实现读取 pdf 文件内容
    本篇介绍一个如何在go语言环境下,如何解析/读取pdf文件内容从而进行一些业务逻辑。本篇将会介绍两种方案,可以按自己的需求进行对比和最终选择。1.背景最近在帮朋友做一个小的程序,帮他减少一些人工繁琐的工作,将一些机器可以做的事情交给机器,提高效率他效率。需求也相对简......
  • Vb.net 使用Webview2显示pdf文件
    使用webview2显示PDF文件需要wvliulanqi--Webview2控件的 AwaitWv2.EnsureCoreWebView2Async函数来启动浏览器否则会报错注意Div的宽度高度PrivateSubButton1_ClickAsync(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimstrPathAs......
  • wkhtmltopdf 使用记录
    1、下载安装后,在安装目录能找到两个exe,我这里只用到了pdf。下载地址:https://www.alipan.com/s/nK8bSrpFeH8,这是我自己的网盘。2、在exe目录执行命令:http://192.168.101.4:8080/print.html?adviceIds=1691643171508896425%2C1691643171508896426&patientId=1704026869843139220 ......
  • 给数组循环遍历添加属性,数组数据打印出来实际已经添加了,但是页面数据并没有展示出来,该
    问题复述,即:在vue项目中中,会遇到修改完数据,但是视图却没有更新的情况问题原因:因为用某些方法修改完数据,vue框架是没办法监听到,无法做到数据响应式,导致数据实际修改了,但页面没展示出来     参考:https://blog.csdn.net/weixin_48998573/article/details/130620390......
  • 在Adobe Acrobat上如何做PDF文档签名
    AdobeAcrobat如何做PDF文档签名?PDF文档签名是指对PDF文档进行基于证书的数字签名,类似于传统的手写签名,可标识签名文档的人员。与手写签名不同,数字签名难以伪造,因为其包含签名者唯一的加密信息。为PDF文档进行基于证书的数字签名,不仅能保护文档不被篡改,同时验证文档签名者真实身份,......