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



我需要逐页将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);

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

这取决于消费应用程序是否需要创建页面布局模型(这就是Microsoft Word所做的)。

你可以用docx4j(你已经用它标记了你的问题)做的是使用FOP输出,比如说PNG。

相关内容

  • 没有找到相关文章

最新更新