Android studio Pdfbox Android显示空页面

Android studio Pdfbox Android显示空页面,android-studio,pdfbox,Android Studio,Pdfbox,我最近使用了pdfbox android库,因为iText在AGPL下。我试着运行下面的代码 PDDocument document = new PDDocument(); PDPage page= new PDPage(); document.addPage(page); ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); Bitmap bitmap=BitmapFactory.decodeFile(imagesObj

我最近使用了pdfbox android库,因为iText在AGPL下。我试着运行下面的代码

PDDocument document = new PDDocument();
PDPage page= new PDPage();
document.addPage(page);
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
Bitmap bitmap=BitmapFactory.decodeFile(imagesObject.get(0).image); //imagesobject is string path
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
PDImageXObject pdImage = PDImageXObject.createFromFile(imagesObject.get(0).image,document);
PDPageContentStream contentStream = new PDPageContentStream(document, page,true,true);
contentStream.drawImage(pdImage,70,70,pdImage.getWidth(), pdImage.getHeight());
contentStream.close();
document.save(file);
document.close();
PDF保存为空页,不显示图像。我注意到pdf的大小是6mb,这意味着图像已经绘制,但看不见。有办法吗

我也在使用汤姆罗斯的ported library

这是生成的pdf的链接


如评论中所述,该图像的名称中有.jpg扩展名,但它是一个PNG图像文件。
PDImageXObject createFromFile(String-imagePath,PDDocument)
方法根据其扩展名采用文件类型,因此它将文件1:1嵌入到PDF中,并分配了一个DCT过滤器。这两种方法对于jpeg文件都是正确的,但对于png文件则不正确


因此,解决方案是重命名文件,或者使用
createFromFileByContent
方法。

请上传PDFsomewhere@TilmanHausherr在过去的几个小时里,我一直在测试它,它可以在几个机器人上正常工作,后来我更改了
PDImageXObject.createFromFile(图像,文档)
无损工厂。createFromImage(文档、位图),现在它可以工作了。无论如何,我已经添加了链接到pdf也有问题。我看了pdf和图像是一个PNG是嵌入1:1。可能这确实是一个PNG文件,但有一个JPEG扩展名吗?我查看了它使用扩展名决定的源代码。您系统上的文件名是什么?PDF中的文件是PNG文件,具有正确的PNG幻数。哦,是的,你是对的。图像末尾有
.jpg
图像_1622096658030.jpg
。我不知道我是怎么错过的,我确信那是png。