📜  iText-N-up(1)

📅  最后修改于: 2023-12-03 15:15:53.721000             🧑  作者: Mango

iText-N-up

iText logo

iText-N-up 是一个功能强大的 Java 库,用于将 PDF 文件进行 N-up(多页合并)编排,从而在打印纸张上节省空间,并提高打印效率。这有助于将多个页面组织在一个页面中,以便更好地利用打印能力。iText-N-up 提供了丰富的功能和灵活的选项,使得对于各种 N-up 布局的处理变得简单而灵活。

特性
  • N-up 编排:将多个 PDF 页面根据指定的布局、大小和顺序组合到一个输出页面中。
  • 灵活的布局选项:支持各种不同的页面布局,包括 2-up(2页)、4-up(4页)等多种组合方式。
  • 自定义页面尺寸:可以定义输出页面的尺寸,以适应不同的打印纸张尺寸。
  • 可定制的页面顺序:可以根据需要自由调整页面的排列顺序。
  • 多种输入源支持:支持从本地文件或网络地址加载 PDF 文件进行处理。
  • 高质量输出:生成的输出 PDF 文件具有高质量和准确性。
  • 完善的文档处理:除了 N-up 编排外,iText-N-up还提供了其他功能,如合并 PDF 文件、添加水印、加密文件等。
使用示例

以下示例演示了如何使用 iText-N-up 对一个 PDF 文件进行 2-up 编排,并输出到另一个文件中:

import com.itextpdf.io.IOException;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.nd4j.converter.pdf.DocConverter;

public class NupExample {
    public static void main(String[] args) {
        String inputFile = "input.pdf";
        String outputFile = "output.pdf";
        
        try {
            // 加载输入 PDF 文件
            PdfReader reader = new PdfReader(inputFile);
            PdfDocument pdfDoc = new PdfDocument(reader);
            
            // 创建输出 PDF 文件
            PdfWriter writer = new PdfWriter(outputFile);
            PdfDocument outputPdf = new PdfDocument(writer);
            
            // 创建文档对象
            Document document = new Document(outputPdf);
            
            // 设置 2-up 编排
            Table table = new Table(2);
            for (int i = 1; i <= pdfDoc.getNumberOfPages(); i++) {
                // 添加输入 PDF 页面到表格中
                table.addCell(new Paragraph().add(new DocConverter().convertToElements(pdfDoc.getPage(i))));
            }
            
            // 将表格添加到文档中
            document.add(table);
            
            // 关闭文档
            document.close();
            
            System.out.println("N-up 编排完成!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
安装

要使用 iText-N-up,首先需要在项目中添加 iText-N-up 的依赖。可以从 iText 官方网站 下载最新版本的 iText,并将 iText-N-up JAR 文件添加到项目的依赖中。

<dependencies>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-core</artifactId>
        <version>7.1.15</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-io</artifactId>
        <version>7.1.15</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-layout</artifactId>
        <version>7.1.15</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout4j</artifactId>
        <version>2.0.1</version>
    </dependency>
</dependencies>
结论

iText-N-up 是一个功能强大且易于使用的 Java 库,可以帮助程序员更好地处理 PDF 文件的 N-up 编排需求。它提供了丰富的功能和灵活的选项,使得实现各种 N-up 布局变得非常简单。无论是在节省打印纸张空间还是提高打印效率方面,iText-N-up 都是一个不可或缺的工具。