将docx第1页一次转换为图像

时间:2013-08-28 04:15:01

标签: image apache-poi docx docx4j

我需要逐页将docx文件转换为图片。因此,如果我将页码传递给方法 - 该方法应该从docx文件中读取该页面并将其转换为图像。使用Apache POI API的任何示例?我为pptx文件做了这个,但是无法为docx找到类似的方法。以下是pptx的代码。

        FileInputStream is = new FileInputStream(strTempPath);
        XMLSlideShow pptx = new XMLSlideShow(is);
        is.close();
        double zoom = 2; // magnify it by 2
        AffineTransform at = new AffineTransform();
        at.setToScale(zoom, zoom);
        Dimension pgsize = pptx.getPageSize();             
        XSLFSlide[] slide = pptx.getSlides();

        }              
        // BufferedImage img = new BufferedImage((int)Math.ceil(pgsize.width*zoom), (int)Math.ceil(pgsize.height*zoom), BufferedImage.TYPE_INT_RGB);
        BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics = img.createGraphics();
        //graphics.setTransform(at);                
        graphics.setPaint(Color.white);
        graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
        slide[iPageNo].draw(graphics);             
        // FileOutputStream output = new ByteArrayOutputStream("C:/Temp/aspose/word/slide-" + (10 + 1) + ".png");        
        output = new ByteArrayOutputStream();
        javax.imageio.ImageIO.write(img, "png", output);

1 个答案:

答案 0 :(得分:1)

与具有页面自然概念的演示文稿不同,WordML格式中没有这样的页面。

如果需要,可以使用应用程序来创建页面布局模型(这是Microsoft Word所做的)。

您可以使用FOP输出docx4j(您标记了您的问题),比如说PNG