Docx4j добавление изображения в шапку не работает - PullRequest
0 голосов
/ 20 июня 2019

У меня проблема с добавлением изображения заголовка в docx4j.
Я получаю сообщение об ошибке "Невозможно отобразить изображение".
Пожалуйста, введите код и исправьте его.
Я проверил ту же проблему с ссылка
Может кто-нибудь дать рабочий код.
enter image description here Спасибо

    private static void createHeaderPart(WordprocessingMLPackage wordMLPackage, bFile) throws Exception {

     BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, wordMLPackage.getMainDocumentPart(), bFile);          
     int docPrId = 1; int cNvPrId = 2; 
     Inline inLine = imagePart.createImageInline("Filename hint", "Alternative text",
     docPrId, cNvPrId, false); 
     P paragraph0 = factory.createP();
     paragraph0.setPPr(paragraphProperties);
     R run0 = factory.createR();
     paragraph0.getContent().add(run0); 
     Drawing drawing = factory.createDrawing();
     run0.getContent().add(drawing);
     drawing.getAnchorOrInline().add(inLine);
     header.getContent().add(paragraph0);
     headerPart.setJaxbElement(header);
     Relationship relationship = wordMLPackage.getMainDocumentPart().addTargetPart(headerPart);
    List<SectionWrapper> sections = wordMLPackage.getDocumentModel().getSections();
    SectPr sectionProperties = sections.get(sections.size() - 1).getSectPr();
    // There is always a section wrapper, but it might not contain a sectPr
    if (sectionProperties == null) {
        sectionProperties = factory.createSectPr();
        wordMLPackage.getMainDocumentPart().addObject(sectionProperties);
        sections.get(sections.size() - 1).setSectPr(sectionProperties);
    }

    /*
     * Remove Header if it already exists.
     */
    List<CTRel> relations = sectionProperties.getEGHdrFtrReferences();
    Iterator<CTRel> relationsItr = relations.iterator();
    while (relationsItr.hasNext()) {
        CTRel relation = relationsItr.next();
        if (relation instanceof HeaderReference) {
            relationsItr.remove();
        }
    }

    HeaderReference headerReference = factory.createHeaderReference();
    headerReference.setId(relationship.getId());
    headerReference.setType(HdrFtrRef.DEFAULT);
    sectionProperties.getEGHdrFtrReferences().add(headerReference);
    HeaderReference firstPageHeaderRef = factory.createHeaderReference();
    firstPageHeaderRef.setId(relationship.getId());
    firstPageHeaderRef.setType(HdrFtrRef.FIRST);
    sectionProperties.getEGHdrFtrReferences().add(firstPageHeaderRef);
     }
...