我有五张照片
sun.png
moon.png
sea.png
earth.png
sky.png
**我通过pdf框将这些图像放入pdf,**我能够识别PDIMageXObject的示例
PDXObject pdxObject = getResources().getXObject(objectName);
if (pdxObject instanceof PDImageXObject) {
//I want earth.png
PDImageXObject image = (PDImageXObject)xobject;
BufferedImage bImage = image.getImage();
String fileName='earth.png'; // How can I get same file name as it was at the time of placing on pdf
ImageIO.write(bImage,"PNG",new File(fileName));
System.out.println("earth saved.");
}
但我如何确定这个PDImageXObject是earth.png对象?以及
我怎样才能得到相同的文件名,因为它是在放置在pdf的时候
1条答案
按热度按时间x6h2sr281#
如果不考虑图像的含义,就没有明确的方法来决定PDF中的图像数量。
这不是简单的计算可见内容,也不使用提取列表。这里有5张图片在页面上,但页面被认为只有一张图片,即使我可以拖动和缩放较小的副本。然而,没有一个名称说太阳月亮地球和海洋。他们做了太阳,月亮,earth & sea.png,但在PDF中它们被赋予不同的名称,所有5个都被放置在文件中作为
/Im0
,但分配了不同的对象编号和不同的ID实体描述,它们链接到多少个位置并不重要,也不是总的副本数,它们将简单地通过位置来了解,所以作者通常会将其简短地称为/Im 0/Im 1/Im 2等。因此,我有点惊讶地看到这里只有/Im 0。但我想这就是你在覆盖时如何算作“页面画布媒体”。每个图像都有自己的“固定页面”,但我们不把图像算作页面,这里它们被称为“表单”。