失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java合并pdf 追加页数_使用IText API将页码添加到具有不同页面大小的合并PDF

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

时间:2020-02-14 02:19:22

相关推荐

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 API将页码添加到具有不同页面大小的合并PDF》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。