itext java document_itext插件中document.close()总是报错

本文介绍了一个使用Java进行PDF文件处理的例子,主要内容包括如何读取PDF文件并将其页面旋转90度,同时将图片添加到新的PDF文件中。在处理过程中出现了一个NullPointerException异常,该异常可能源于对PDF字典转换为PDF格式时的操作不当。
摘要由CSDN通过智能技术生成

源码:Documentdocument=newDocument(PageSize.A4);PdfWriterwriter=PdfWriter.getInstance(document,newFileOutputStream("D:\\2M9006-A4-P251-1.pdf"));PdfReaderreader=newPdfRead...

源码:

Document document = new Document(PageSize.A4);

PdfWriter writer = PdfWriter.getInstance(document,

new FileOutputStream("D:\\2M9006-A4-P251-1.pdf"));

PdfReader reader = new PdfReader("D:\\M9006-A4-P251-1.pdf");

int n = reader.getNumberOfPages();

PdfImportedPage page = null;

Image image = null;

document.open();

for (int i = 1; i <= n; i++) {

System.out.println(n);

page = writer.getImportedPage(reader, i);

image = Image.getInstance(page);

if (i % 2 == 0) {

image.setRotationDegrees(180);

//image.setAbsolutePosition(70,0);

} else {

image.setRotationDegrees(180);

//image.setAbsolutePosition(-70,0);

}

image.setRotationDegrees(90);

image.setAlignment(Image.ALIGN_CENTER);

document.add(image);

}

document.newPage();

document.close();

M9006-A4-P251-1.pdf文件大小为:12.2M 内容为两张大图

Exception in thread "main" java.lang.NullPointerException

at com.lowagie.text.pdf.PdfDictionary.toPdf(PdfDictionary.java:149)

at com.lowagie.text.pdf.PdfStream.superToPdf(PdfStream.java:231)

at com.lowagie.text.pdf.PRStream.toPdf(PRStream.java:175)

at com.lowagie.text.pdf.PdfIndirectObject.writeTo(PdfIndirectObject.java:167)

at com.lowagie.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:370)

at com.lowagie.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:350)

at com.lowagie.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:342)

at com.lowagie.text.pdf.PdfWriter.addToBody(PdfWriter.java:1875)

at com.lowagie.text.pdf.PdfReaderInstance.writeAllPages(PdfReaderInstance.java:169)

at com.lowagie.text.pdf.PdfWriter.addSharedObjectsToBody(PdfWriter.java:1173)

at com.lowagie.text.pdf.PdfWriter.close(PdfWriter.java:1231)

at com.lowagie.text.pdf.PdfDocument.close(PdfDocument.java:942)

at com.lowagie.text.Document.close(Document.java:520)

at com.serial.tt.main(tt.java:54)

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值