从 PDF 中提取图像
Contents
[
Hide
]
PDF 文档中的每一页都包含资源(图像、表单和字体)。我们可以通过调用 getResources 方法访问这些资源。Resources 类包含 XImageCollection,我们可以通过调用 getImages 方法获取图像列表。
因此,要从页面中提取图像,我们需要获取页面的引用,接着是页面资源,最后是图像集合。 我们可以通过索引来提取特定的图像。
图像的索引返回一个 XImage 对象。 该对象提供一个 Save 方法,可以用来保存提取的图像。以下代码片段展示了如何从 PDF 文件中提取图像。
public static void Extract_Images(){
// 文档目录的路径。
String _dataDir = "/home/admin1/pdf-examples/Samples/";
String filePath = _dataDir + "ExtractImages.pdf";
// 加载 PDF 文档
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(filePath);
com.aspose.pdf.Page page = pdfDocument.getPages().get_Item(1);
com.aspose.pdf.XImageCollection xImageCollection = page.getResources().getImages();
// 提取特定图像
com.aspose.pdf.XImage xImage = xImageCollection.get_Item(1);
try {
java.io.FileOutputStream outputImage = new java.io.FileOutputStream(_dataDir + "output.jpg");
// 保存输出图像
xImage.save(outputImage);
outputImage.close();
} catch (java.io.FileNotFoundException e) {
// TODO: 处理异常
e.printStackTrace();
} catch (java.io.IOException e) {
// TODO: 处理异常
e.printStackTrace();
}
}