如何使用 Apache HWPF 将图像插入 Doc 文件

版本

我想用 Apache HWPF 将图片插入到 Doc 文件中,但我不知道该怎么做。请帮助我。

布拉克·阿基尔迪兹

以下代码用于.docx文件。我希望这有帮助。

public void addPicture(File img,double width,double height)
    {

        String imgPath = img.getPath();

        XWPFParagraph p = doc.createParagraph();
        p.setAlignment(ParagraphAlignment.CENTER);
        XWPFRun r = p.createRun();

        try {
                int format = XWPFDocument.PICTURE_TYPE_JPEG;

                if(imgPath.endsWith(".emf")) format = XWPFDocument.PICTURE_TYPE_EMF;
                else if(imgPath.endsWith(".wmf")) format = XWPFDocument.PICTURE_TYPE_WMF;
                else if(imgPath.endsWith(".pict")) format = XWPFDocument.PICTURE_TYPE_PICT;
                else if(imgPath.endsWith(".jpeg") || imgPath.endsWith(".jpg")) format = XWPFDocument.PICTURE_TYPE_JPEG;
                else if(imgPath.endsWith(".png")) format = XWPFDocument.PICTURE_TYPE_PNG;
                else if(imgPath.endsWith(".dib")) format = XWPFDocument.PICTURE_TYPE_DIB;
                else if(imgPath.endsWith(".gif")) format = XWPFDocument.PICTURE_TYPE_GIF;
                else if(imgPath.endsWith(".tiff")) format = XWPFDocument.PICTURE_TYPE_TIFF;
                else if(imgPath.endsWith(".eps")) format = XWPFDocument.PICTURE_TYPE_EPS;
                else if(imgPath.endsWith(".bmp")) format = XWPFDocument.PICTURE_TYPE_BMP;
                else if(imgPath.endsWith(".wpg")) format = XWPFDocument.PICTURE_TYPE_WPG;
                else {
                    System.err.println("Unsupported picture: " + imgPath +
                            ". Expected emf|wmf|pict|jpeg|png|dib|gif|tiff|eps|bmp|wpg");
                }

                double pageWidth = PAGE_WIDTH - PAGE_MARGIN_LEFT - PAGE_MARGIN_RIGHT;
                double pageHeight = PAGE_HEIGHT - PAGE_MARGIN_TOP;

                if(width > pageWidth)
                {
                    double difference =  width - pageWidth  ;
                    double differenceRatio = difference / width;
                    //System.out.println("Width is resizing. Start width : "+width+" pixel difference : "+difference+" difference ratio :"+differenceRatio);
                    width = (width - (width * differenceRatio));
                    height =  (height - (height * differenceRatio));
                }

                if(height > pageHeight)
                {
                    double difference = ( height - (pageHeight) ) ;
                    double differenceRatio = difference / height;
                    //System.out.println("Height is resizing. Start Height : "+height+" pixel difference : "+difference+" difference ratio :"+differenceRatio);
                    width = (width - (width * differenceRatio));
                    height =  (height - (height * differenceRatio));
                }

                //System.out.println("Width : "+width+" Height : "+height);

                XWPFPicture pic = r.addPicture(new FileInputStream(img), format, imgPath, Units.toEMU(width), Units.toEMU(height));

            } catch (InvalidFormatException ex) {
                Logger.getLogger(WordHandler.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(WordHandler.class.getName()).log(Level.SEVERE, null, ex);
            }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Apache POI将.docx转换为.doc

来自分类Dev

(如何)我可以使用Apache Tika在.DOC或.PDF或.JAVA等文件中搜索短语吗?

来自分类Dev

如何使用xlsxwriter将图像插入Excel文件?

来自分类Dev

如何将.html文件输出到.doc文件Django

来自分类Dev

使用Apache POI将图像插入列以使用Excel

来自分类Dev

如何将图像、Pdf、Docx 和 Doc 文件转换为位图

来自分类Dev

Java Apache POI读取Word(.doc)文件并获取使用的命名CHARACTER样式

来自分类Dev

如何将 .png 图像插入 TClientDataSet .cds 文件?

来自分类Dev

从Outlook将图像插入Word Doc

来自分类Dev

如何读取.doc或.docx文件

来自分类Dev

如何读取Word .doc文件?

来自分类Dev

如何创建可以存储pdf,doc文件的表以及如何插入文件

来自分类Dev

如何从命令行使用LibreOffice将.doc文件转换为.txt?

来自分类Dev

如何使用python将txt文件或PDF转换为Word doc?

来自分类Dev

如何仅使用 php 将 .docx / .doc 文件转换为 .pdf

来自分类Dev

批处理文件:如何将所有.doc文件备份到文件夹

来自分类Dev

如何使用JAVA POI将.doc拆分为几个.doc?

来自分类Dev

如何使用C ++中的文件读写doc,pdf文件

来自分类Dev

如何使用Gradle将AAR文件发布到Apache Archiva

来自分类Dev

如何将文件(pdf,doc等...)下载到sdcard中,并在Android中使用Volley打开文件?

来自分类Dev

识别包含图像的.doc / .docx文件

来自分类Dev

如何使用php上传odt / doc / pdf / txt文件

来自分类Dev

如何使用PHP或在Codeigniter中读取doc文件的内容

来自分类Dev

如何使用Python从doc / docx文件中提取数据

来自分类Dev

如何使用php脚本从.doc文件中计数单词?

来自分类Dev

如何使用Python从.doc文件中检索纯文本?

来自分类Dev

如何使用PHP或在Codeigniter中读取doc文件的内容

来自分类Dev

如何使用Python从.doc文件中检索纯文本?

来自分类Dev

如何自定义Sphinx doc图像文件夹?

Related 相关文章

  1. 1

    如何使用Apache POI将.docx转换为.doc

  2. 2

    (如何)我可以使用Apache Tika在.DOC或.PDF或.JAVA等文件中搜索短语吗?

  3. 3

    如何使用xlsxwriter将图像插入Excel文件?

  4. 4

    如何将.html文件输出到.doc文件Django

  5. 5

    使用Apache POI将图像插入列以使用Excel

  6. 6

    如何将图像、Pdf、Docx 和 Doc 文件转换为位图

  7. 7

    Java Apache POI读取Word(.doc)文件并获取使用的命名CHARACTER样式

  8. 8

    如何将 .png 图像插入 TClientDataSet .cds 文件?

  9. 9

    从Outlook将图像插入Word Doc

  10. 10

    如何读取.doc或.docx文件

  11. 11

    如何读取Word .doc文件?

  12. 12

    如何创建可以存储pdf,doc文件的表以及如何插入文件

  13. 13

    如何从命令行使用LibreOffice将.doc文件转换为.txt?

  14. 14

    如何使用python将txt文件或PDF转换为Word doc?

  15. 15

    如何仅使用 php 将 .docx / .doc 文件转换为 .pdf

  16. 16

    批处理文件:如何将所有.doc文件备份到文件夹

  17. 17

    如何使用JAVA POI将.doc拆分为几个.doc?

  18. 18

    如何使用C ++中的文件读写doc,pdf文件

  19. 19

    如何使用Gradle将AAR文件发布到Apache Archiva

  20. 20

    如何将文件(pdf,doc等...)下载到sdcard中,并在Android中使用Volley打开文件?

  21. 21

    识别包含图像的.doc / .docx文件

  22. 22

    如何使用php上传odt / doc / pdf / txt文件

  23. 23

    如何使用PHP或在Codeigniter中读取doc文件的内容

  24. 24

    如何使用Python从doc / docx文件中提取数据

  25. 25

    如何使用php脚本从.doc文件中计数单词?

  26. 26

    如何使用Python从.doc文件中检索纯文本?

  27. 27

    如何使用PHP或在Codeigniter中读取doc文件的内容

  28. 28

    如何使用Python从.doc文件中检索纯文本?

  29. 29

    如何自定义Sphinx doc图像文件夹?

热门标签

归档