try {
// 加载pdf文件
PDDocument document = PDDocument.load(file);
//将pdf转换成图片
PDFRenderer renderer = new PDFRenderer(document);
//获取pdf的页数
int numberOfPages = document.getNumberOfPages();
PDFRenderer pdfRenderer = new PDFRenderer(document);
//展示图片的容器
VBox root = new VBox();
//间距为0,没用,是生成pdf的时候底部不够一行
root.setSpacing(0);
//根据页数循环将pdf转化的图片添加到容器当中
for (int i = 0; i < numberOfPages; i++) {
//获取的图片为awt容器的图片
BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(i, 92); // DPI渲染图像
WritableImage fxImage = SwingFXUtils.toFXImage(bufferedImage, null);
ImageView imageView = new ImageView(fxImage);
// 缩放倍数
double scaleFactor = 1;
imageView.setFitWidth(bufferedImage.getWidth() * scaleFactor);
imageView.setFitHeight(bufferedImage.getHeight() * scaleFactor);
// 保持图片的宽高比
imageView.setPreserveRatio(true);
// 平滑缩放
imageView.setSmooth(true);
root.getChildren().add(imageView);
}
// 定位到页面顶部
double vvalue = 0.0; // 这将使滚动条位于顶部
selectList.setVvalue(vvalue);
//将容器加载到滚动页面中
selectList.setContent(root);
// 关闭文档,释放资源
document.close();
}
catch (IOException e) {
logger.error(BusinessException.getExceptionToString(e));
}
javafx中PDF文件的展示(转图片)
原创wx65791a706dd2d ©著作权
©著作权归作者所有:来自51CTO博客作者wx65791a706dd2d的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python PDF转换为图片
PDF 另存为图片,pdf python操作,python 转换PDF, Python PDF图片
Python 转换 图片 pdf