Java 创建PDF打印小册子案例

 更新时间:2021年10月20日 08:53:39   作者:E-iceblue  
这篇文章主要给大家分享Java 创建PDF打印小册子案例,PDF打印小册子是指将PDF格式文档在打印成刊物前需要提前进行的页面排版,以便在打印后装订成册,下面文章内容我们将下面以Java代码展示如何来实现,需要的朋友可以参考一下

一、概述

PDF打印小册子是指将PDF格式文档在打印成刊物前需要提前进行的页面排版,以便在打印后装订成册。下面以Java代码展示如何来实现。这里调用Free Spire.PDF for Java中的PdfDocument. createBooklet(java.lang.String fileName, double width, double height, boolean doubleSide)方法来创建Booklet小册子。

二、环境配置及代码步骤

1. 环境配置

  •   IntelliJ IDEA 2018(jdk 1.8.0)
  •   PDF Jar包:Free Spire.PDF for Java 4.4.1
  •   PDF测试文档:文件路径为IDEA程序项目文件夹路径(F:\IDEAProject\PrintPDF\test.pdf)

如何导入jar包:

方法1:手动导入,步骤如下

 方法2:Maven下载导入。需在pom.xml中配置依赖:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf.free</artifactId>
        <version>4.4.1</version>
    </dependency>
</dependencies>

2. 代码步骤

  •   创建 PdfDocument 类的实例;
  •   通过 PdfDocument.loadFromFile() 方法加载PDF测试文档;
  •   通过 PdfDocument.getPages() 方法获取指定页面;
  •   根据获取的页面大小页面定义小册子的高度及宽度;
  •   调用 PdfDocument. createBooklet() 方法创建小册子;
  •   最后,通过 PdfDocument. saveToFile() 方法保存创建后的PDF小册子文件。保存路径为IDEA项目文件夹路径。

【Java完整代码】

import com.spire.pdf.*;

public class CreateBooklet {
    public static void main(String[] args) {
        //加载PDF测试文档,并获取第一页
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("test.pdf");
        PdfPageBase page = pdf.getPages().get(0);

        //定义小册子的宽度和高度
        float width = (float) page.getSize().getWidth()*2;
        float height = (float) page.getSize().getHeight();

        //创建小册子,并保存
        pdf.createBooklet("test.pdf", width, height,true);
        pdf.saveToFile("Booklet.pdf");
    }
}

 PDF小册子创建效果:

到此这篇关于Java 创建PDF打印小册子案例的文章就介绍到这了,更多相关Java 创建PDF打印小册子内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 快速了解JAVA中的Random()函数

    快速了解JAVA中的Random()函数

    这篇文章主要介绍了JAVA中的Random()函数的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • SpringBoot动态定时任务实现与应用详解

    SpringBoot动态定时任务实现与应用详解

    定时任务在许多应用场景中是必不可少的,特别是在自动化任务执行、定期数据处理等方面,定时任务能极大地提高系统的效率,然而,随着业务需求的变化,定时任务的执行频率或时间点可能需要动态调整,所以本文给大家介绍了SpringBoot动态定时任务实现与应用
    2024-08-08
  • 认证授权中解决AuthenticationManager无法注入问题

    认证授权中解决AuthenticationManager无法注入问题

    这篇文章主要介绍了认证授权中解决AuthenticationManager无法注入问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-10-10
  • 深入理解Java设计模式之单例模式

    深入理解Java设计模式之单例模式

    这篇文章主要介绍了JAVA设计模式之单例模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • Java 中引入内部类的意义?

    Java 中引入内部类的意义?

    这篇文章主要介绍了Java 中引入内部类的意义?文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • 最全Gson使用

    最全Gson使用

    GSON弥补了JSON的许多不足的地方,在实际应用中更加适用于Java开发,本文主要介绍了最全Gson使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java线程池高频面试题总结

    Java线程池高频面试题总结

    在进程和线程的相关面试题中还有一部分是关于多线程和线程池的,也是在这一部分中比较常考察的内容。本篇文章就带你了解一下,希望能给你带来帮助
    2021-08-08
  • Java Swing JComboBox下拉列表框的示例代码

    Java Swing JComboBox下拉列表框的示例代码

    这篇文章主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解Spring Cloud Gateway 限流操作

    详解Spring Cloud Gateway 限流操作

    这篇文章主要介绍了详解Spring Cloud Gateway 限流操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • JUC并发编程LinkedBlockingQueue队列深入分析源码

    JUC并发编程LinkedBlockingQueue队列深入分析源码

    LinkedBlockingQueue 是一个可选有界阻塞队列,这篇文章主要为大家详细介绍了Java中LinkedBlockingQueue的实现原理与适用场景,感兴趣的可以了解一下
    2023-04-04

最新评论