Проблема с добавлением изображения в заголовок слова документа

Это никогда не сработает, вы не можете укрепить свой объект FormData.

Вы должны сделать это:

this.uploadFileToUrl = function(file, title, text, uploadUrl){
   var fd = new FormData();
   fd.append('title', title);
   fd.append('text', text);
   fd.append('file', file);

     $http.post(uploadUrl, obj, {
       transformRequest: angular.identity,
       headers: {'Content-Type': undefined}
     })
  .success(function(){
    blockUI.stop();
  })
  .error(function(error){
    toaster.pop('error', 'Errore', error);
  });
}
1
задан Cindy Meister 18 January 2019 в 18:15
поделиться

1 ответ

Я полагаю, работает ли это или нет, сильно зависит от используемой версии apache poi. В предыдущих apache poi версиях было много проблем с изображениями в верхнем / нижнем колонтитулах.

Ниже приведен самый минимальный рабочий код, использующий apache poi 4.0.1. Рекомендуется всегда использовать последнюю стабильную версию .:

Код:

import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.HeaderFooterType;
import org.apache.poi.util.Units;

public class CreateWordHeaderWithImage {

 public static void main(String[] args) throws Exception {

  XWPFDocument doc = new XWPFDocument();

  // the body content
  XWPFParagraph paragraph = doc.createParagraph();
  XWPFRun run = paragraph.createRun();  
  run.setText("The Body...");

  // create header
  XWPFHeader header = doc.createHeader(HeaderFooterType.DEFAULT);

  // header's first paragraph
  paragraph = header.getParagraphArray(0);
  if (paragraph == null) paragraph = header.createParagraph();
  paragraph.setAlignment(ParagraphAlignment.CENTER);

  run = paragraph.createRun();

  FileInputStream in = new FileInputStream("samplePict.jpeg");
  run.addPicture(in, Document.PICTURE_TYPE_JPEG, "samplePict.jpeg", Units.toEMU(100), Units.toEMU(50));
  in.close();  

  run.setText("HEADER"); 

  FileOutputStream out = new FileOutputStream("CreateWordHeaderWithImage.docx");
  doc.write(out);
  doc.close();
  out.close();

 }
}

Результат:

enter image description here [1110 ]

0
ответ дан Axel Richter 18 January 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: