java 设置pdf页面大小_java – 使用pdfbox从单独的pdf(不同的页面大小)添加页面作为图层...

本文档详细介绍了如何使用PDFBox库在Java中处理PDF文档时,解决因页面大小不同而导致的问题。当尝试从一个PDF文档向另一个PDF添加页面时,程序出现挂起或错误。解决方案包括确保所有PDFBox核心组件(如pdfbox、fontbox和jempbox)都在正确版本下,并使用AffineTransform正确定位导入的页面。
摘要由CSDN通过智能技术生成

如果页面大小不同,如何将外部pdf文档中的页面添加到目标pdf?

这是我想要完成的事情:

PDDocument destinationPdfDoc = PDDocument.load(fileInputStream);

PDDocument externalPdf = PDDocument.load(EXTERNAL PDF);

List destinationPages = destinationPdfDoc.getDocumentCatalog().getAllPages();

LayerUtility layerUtility = new LayerUtility(destinationPdfDoc);

// process hangs here

PDXObjectForm firstForm = layerUtility.importPageAsForm(externalPdf, 0);

AffineTransform affineTransform = new AffineTransform();

layerUtility.appendFormAsLayer(destinationPages.get(0), firstForm, affineTransform, "external page");

destinationPdfDoc.save(resultTempFile);

destinationPdfDoc.close();

externalPdf.close();

我做错了什么?

解决方法:

PDFBox依赖项

主要问题是PDFBox有三个核心组件,一个需要依赖.缺少一个核心组件.

OP在评论中澄清了这一点

Actually process doesn’t h

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值