java合并pdf 追加页数_使用IText API将页码添加到具有不同页面大小的合并PDF

我正在尝试使用页面右上角的Itext添加页码以合并PDF文件,但我的pdf内容大小不同,在尝试打印页面大小后合并PDF时我得到大致相同的大小(高度和宽度) )在每个页面上,但由于内容大小不同,我无法看到页码 . 请参阅下面的代码和pdf附件,用于合并PDF和添加页码 .

public class PageNumber {

public static void main(String[] args) {

PageNumber number = new PageNumber();

try {

String DOC_ONE_PATH = "C:/Users/Admin/Downloads/codedetailsforartwork/elebill.pdf";

String DOC_TWO_PATH = "C:/Users/Admin/Downloads/codedetailsforartwork/PP-P0109916.pdf";

String DOC_THREE_PATH = "C:/Users/Admin/Downloads/codedetailsforartwork/result.pdf";

String[] files = { DOC_ONE_PATH, DOC_TWO_PATH };

Document document = new Document();

PdfCopy copy = new PdfCopy(document, new FileOutputStream(DOC_THREE_PATH));

document.open();

PdfReader reader;

int n;

for (int i = 0; i < files.length; i++) {

reader = new PdfReader(files[i]);

n = reader.getNumberOfPages();

for (int page = 0; page < n; ) {

copy.addPage(copy.getImportedPage(reader, ++page));

}

copy.freeReader(reader);

reader.close();

}

// step 5

document.close();

number.manipulatePdf(

"C:/Users/Admin/Downloads/codedetailsforartwork/result.pdf",

"C:/Users/Admin/Downloads/codedetailsforartwork/PP-P0109916_1.pdf");

} catch (IOException | DocumentException | APIException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void manipulatePdf(String src, String dest)

throws IOException, DocumentException, APIException {

PdfReader reader = new PdfReader(src);

int n = reader.getNumberOfPages();

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

PdfContentByte pagecontent;

for (int i = 0; i < n;) {

pagecontent = stamper.getOverContent(++i);

System.out.println(i);

com.itextpdf.text.Rectangle pageSize = reader.getPageSize(i);

pageSize.normalize();

float height = pageSize.getHeight();

float width = pageSize.getWidth();

System.out.println(width + " " + height);

ColumnText.showTextAligned(pagecontent, Element.ALIGN_CENTER,

new Phrase(String.format("page %d of %d", i, n)),

width - 200, height-85, 0);

}

stamper.close();

reader.close();

}

}

Java图片转PDF操作详解:使用iText 2.1.7.jar库 iText是一个非常流行的Java库,用于创建和操作PDF文档。自2000年首次发布以来,iText经历了数次重要的版本更新,逐步增加了许多新功能,并提高了性能。它的使用范围广泛,从简单的文档生成到复杂的报表构建,再到动态的PDF内容创建,iText都能提供强大的支持。自iText 2.1.7版本起,该库引入了许多重要的改进,包括对PDF/A标准的支持、更丰富的文本排版功能以及改进的表格操作等。这个版本还修复了一系列已知的bug,提高了与不同操作系统和Java环境的兼容性。 阅读详情

相关推荐

iText JavaPDF处理开发包详解

iTextJava 平台下最流行的 PDF 文档处理库之一,广泛应用于 PDF 的创建、修改、加密、表单处理等多个领域。本章将系统性地介绍 iText 的核心功能模块,涵盖其版本演进、文档生命周期管理、高级功能支持、异常处理机制及性能调优策略,帮助开发者全面掌握 iText使用与最佳实践。通过本章的学习,开发者已经掌握了在Maven和Gradle项目中正确引入iText依赖的方法,包括核心模块、HTML转PDF插件、商业授权配置以及依赖管理的最佳实践。

weixin_28809949的博客 1044

itext生成pdf页码和总页码

原生成pdf代码(页码) public static void html2pdf(String htmlFile, String pdfFile) { // step 1 String url; OutputStream os = null; try { File file = new File(p...

qi923701的博客 1万+

iText生成与处理PDF实战教程

iText 是一个功能强大的 Java 开源 PDF 处理库,广泛用于 PDF 文档的生成、修改、加密、注释及表单处理等场景。自 2000 年发布以来,iText 经历了多个版本迭代,其中 iText 5 与 iText 7 在架构和 API 设计上有显著差异。iText 7 引入了更模块化的设计,提升了文档构建的灵活性与扩展性。开发者在使用 iText 时,需注意其许可证机制:iText AGPL 与商业许可并存。若用于商业项目,需购买授权以避免合规风险。

weixin_31938351的博客 1228

绘制pdf表格 (二) 通过itext实现在pdf中绘制excel表格样式设置中文字体、水印、logo、页眉、页码

1、 绘制pdf表格 (二) 通过itext实现在pdf中绘制excel表格样式设置中文字体、水印、logo、页眉、页码

一恍过去 2万+

PDF添加页码itext

public class PdfReportM1HeaderFooter extends PdfPageEventHelper{ /**      * 页眉      */      public String header = "";          /**      * 文档字体大小,页脚页眉最好和文本大小一致      */      public int presentFontSize ...

wzk_dss的博客 6815

pdf增加页码

pdf增加页码

myiwen_15213620430的博客 1069

ItextPDF添加页码

<dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency> import com.itextpdf.text.Document;...

finally_flx的博客 4537

PDFjava使用Itext生成pdf文档--详解

API接口】 一、Itext简介 API地址:javadoc/index.html;如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/index.html 功能:a Free Java-PDF; 中文支持:iTextAsian.jar,现在高版本Itext支持语言包。 使用的版本:iTextpdf-5.0.0.jar, iTextA...

weixin_45433218的博客 3058

Java使用iText生成pdf文档

iText 是一个用于创建和处理 PDF 文档的开源 Java 库。iText 主要用于生成 PDF 文件,可以将文本、图像、表格、列表等内容添加PDF 中,同时支持对 PDF 进行编辑、合并、分割、加密、数字签名等操作。

qq_45110186的博客 1348

Spring Boot3集成iText实现PDF导出功能

iText 是一个功能强大的开源 Java 库,用于创建和操作 PDF 文件。iText 提供了丰富的 API,可以生成交互式 PDF 文档、添加书签、页码、水印,以及拆分和合并 PDF 文档等。iText 支持将 PDF 保存为图像文件,如 PNG 或 JPEG,并且可以在 PDF 文档上绘制各种几何形状,如圆形、线条等。iText的主要特点交互性:可以创建交互式 PDF 文档,如表单填写。添加元素:可以添加书签、页码、水印等。分割与合并:可以将现有 PDF 分割或合并其他页面。表单处理。

江南一点雨的专栏 2069

iTEXT 的其他操作

Itext 使用 一、Itext简介 1、API地址:javadoc/index.html 如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/index.html 2、功能:a Free Java-PDF 3、中文支持:iTextAsian.jar,现在高版本Itext支持语言包。 4、使用的版本:iTextpdf-5.0.0.jar, iTextAsian-2.0.jar 二、Itext API (一)PDF文档生成的5步 /** *5步

qq_34676998的博客 1204

Java实现对已有的PDF添加页码

Java实现对已有的PDF添加页码 一、思路 对现有的PDF文档,进行读取,然后一页一页的复制,进行触发 页面页码监听事件,自定义的页码监听事件功能是在一页文档结束时,进行绘画页码文本到内容去 itextpdf 提供了对页面监听事件的方法: PdfWriter writer = PdfWriter.getInstance(document, fos); // 设置页面监听事件,必须在open方...

天涯共明月的博客 4308

itextpdf7 使用之 html转pdf,生成目录可跳转、添加页眉页脚

最近有个需求,生成信用报告。

海的声音的博客 5236

springboot对已有pdf追加内容,itext我居然从来知道......

业务场景: 业务需要打印pdf,对已有的pdf追加签名,签名包含当前审批等级、签名(图片)、审批意见、审批时间

weixin_45716265的博客 2189

Java更改 PDF 页面大小

例如,一个包含不同大小页面合并 PDF 文件,我们需要将页面大小调整为相同大小以便于阅读和打印。在本文中,将详细为您介绍在 Java 应用程序中更改 PDF 文件的页面大小,以下是详细步骤及思路,并附上Java代码以供参考。//从自定义大小创建一个 Dimension2D 实例,然后它将用作新 PDF页面大小。//将文本布局设置为一页(如果设置,内容将无法适应页面大小)//将A1大小页面添加到新的 PDF 文件。//将自定义大小页面添加到新的 PDF 文件。//根据原 PDF 中的页面创建模板。.

Candyz7的博客 2611

java pdf 使用itextpdf插入页码

代码如下 package com.hyzs.szcg.doc.utils; import com.itextpdf.text.*; import com.itextpdf.text.pdf.*; import lombok.extern.slf4j.Slf4j; import java.io.FileOutputStream; import java.io.IOException; imp...

z446981439的博客 2092

Itextpdf添加页眉页脚页码,页眉中需要添加logo图片

参考:https://blog.csdn.net/biu_biu_duda/article/details/106687491

qb170217的博客 2165
上一篇: java编程题第四章_java考试题库第四章.doc
下一篇: java soap rmi_转 RMI、RPC、SOAP通信技术介绍及比对
罗世凯
博客等级 码龄8年 21粉丝 60原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值