簡體   English   中英

使用docx4j將圖像插入Word文檔中的特定位置

[英]Inserting an image to a particular position in a word document using docx4j

我想使用docx4j將圖像添加到我的Word文檔中的特定位置。 我不要內聯插入。 下面的代碼執行內聯文本添加圖像的操作。 但是我想要浮動插入,在這里我可以明確給出圖像應在頁面中放置的位置。 請幫我。

    public R addUserPic(P parag, WordprocessingMLPackage wordMLPackage)
                throws Exception {

            File file = new File("src/main/resources/PictureNew.png");
            byte[] bytes = convertImageToByteArray(file);   
            BinaryPartAbstractImage imagePart = BinaryPartAbstractImage
                    .createImagePart(wordMLPackage, bytes);
            int docPrId = 1;
            int cNvPrId = 2;

            Inline inline = imagePart.createImageInline("Filename hint",
                    "Alternative text", docPrId, cNvPrId, false);   

            ObjectFactory factory = new ObjectFactory();
            R run = factory.createR();
            org.docx4j.wml.Drawing drawing = factory.createDrawing();
            run.getContent().add(drawing);
            drawing.getAnchorOrInline().add(inline);

            return run;

        }

        private static byte[] convertImageToByteArray(File file)
                throws FileNotFoundException, IOException {
            InputStream is = new FileInputStream(file);
            long length = file.length();

            if (length > Integer.MAX_VALUE) {
                System.out.println("File too large!!");
            }
            byte[] bytes = new byte[(int) length];
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                    && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
                offset += numRead;
            }

            if (offset < bytes.length) {
                System.out.println("Could not completely read file "
                        + file.getName());
            }
            is.close();
            return bytes;


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM